3

この配列の値を 2 つの変数に取得したいと思います。

  • $タイトル
  • $url

これらの内部配列のそれぞれについて。どうすればいいですか?

Array
(
[0] => Array
    (
        [0] => Reuters
        [1] => http://www.reuters.com
    )

[1] => Array
    (
        [0] => CNN
        [1] => http://www.cnn.com
    )
)
4

5 に答える 5

1

これにより、タイトルとURLを含む2つの配列が得られます。

foreach ($array as $value)
{
    $title[] = $value[0];
    $url[] = $value[1];
}

または、値を変数に入れたい場合:

$title1 = $array[0][0];
$title2 = $array[1][0];

$url1 = $array[1][0];
$url2 = $array[1][1];
于 2012-08-27T11:45:28.877 に答える
1

アナスの答えはうまくいくはずですが、明らかに一緒に属しているため、データを分離するポイントがわかりません(名前とURLは馬と馬車、愛と結婚のようなものです...)

$input = array(array('CNN','http://www.cnn.com'),array('rubbish','http://www.fox.com'));
$grouped = array();
while($pair = array_shift($input))
{
    $grouped[$pair[0]] = $pair[1];
}
echo $grouped['rubbish'];//echoes http://www.fox.com

このアプローチの利点は?

  1. オリジナルは処理後に冗長であり、シフトすることでメモリを解放しています (配列がバラバラになっています)。そのため、より効率的です。
  2. データの整合性は、IMO でいくらか保証されます (名前とサイトはペアのままです)。
  3. 必要に応じて、すべての名前とすべての URL を個別の数値インデックス付き配列として引き続き取得できます。

$title = array_keys($grouped);
$urls = array_values($grouped);
于 2012-08-27T12:02:28.327 に答える
0
<?php
    $titles=array();
    $urls=array();
    foreach($array as $key=>$value)
    {
       $titles[]=$value[$key][0];
       $urls[]=$value[$key][1];
    }
?>

このコードを使用すると、n 個の配列構造化データを保持して、2 つの異なる 1 次元配列データを作成できます。

于 2012-08-27T12:58:52.397 に答える
0
foearch ($yourArrayName as $innerArray){
 $title=$innerArray[0];
 $url=$innerArray[1];
 echo $title.'-'.$url;
}

このようにして、最初に外側の配列の要素を反復処理してから、関心のあるすべての値を取得できます。

すべての要素を格納したい場合は、新しい配列を作成する必要がありますが、この時点で元の配列を「単純に」保持しないのはなぜですか?

于 2012-08-27T11:46:51.477 に答える
0

このコードをコピーしてください:

$title = array();
$url = array();

foreach ($array as $value)
{
    $title[] = $value[0];
    $url[] = $value[1];
}

print_r($title);
print_r($url);
于 2012-08-27T11:59:02.870 に答える