0
Array
(
[page] => 1
[results] => Array
    (
        [0] => Array
            (
                [adult] => 
                [backdrop_path] => /9rZg1J6vMQoDVSgRyWcpJa8IAGy.jpg
                [id] => 680
                [original_title] => Pulp Fiction
                [release_date] => 1994-10-14
                [poster_path] => /dM2w364MScsjFf8pfMbaWUcWrR.jpg
                [popularity] => 6.4840769584183
                [title] => Pulp Fiction
                [vote_average] => 7.8
                [vote_count] => 942
            )

        [1] => Array
            (
                [adult] => 
                [backdrop_path] => 
                [id] => 109005
                [original_title] => Pulp Fiction Art
                [release_date] => 2005-01-01
                [poster_path] => /yqbnCy6YCc9VY8cnkHGEgiylXey.jpg
                [popularity] => 0.2
                [title] => Pulp Fiction Art
                [vote_average] => 0
                [vote_count] => 0
            )

    )

[total_pages] => 1
[total_results] => 2
)

これは私の多次元配列で、助けが必要です。だから私の問題は、foreachで[original_title]を取得する方法です。私は多次元のforeachをやったことがないので、誰かが私に説明してくれればありがたいです。ありがとう

4

4 に答える 4

1

あなたの質問に答えるには、次のようにします。

foreach($var['results'] as $result)
{
    echo $result['original_title'];
}

投稿した内容に基づいて、投稿した配列が という変数にあると仮定します$var

たとえば、次のような配列の配列の配列がある状況があった場合:

Array (
    Array(
        Array(
            "title" => "foo",
            "data" => "bar"
        ),
        ...
    ),
    ...
)

foreach次に、次のような多次元のことを行います。

foreach($var as $inner)
{
    foreach($inner as $innerInner)
    {
        echo $innerInner['title'];
    }
}

また、参照がどのように機能するかという理由から、このようなデータを格納するには、配列ではなくオブジェクトを使用する方が一般的にはるかに優れていることにも注意してください。

于 2013-06-24T22:47:21.203 に答える
0

まず、多次元配列は次のようになります。

$ary = array(
  'page' => 1,
  'results' => array(
    array(
      'adult' => null,
      'backdrop_path' => '/9rZg1J6vMQoDVSgRyWcpJa8IAGy.jpg',
      'id' => 680,
      'original_title' => 'Pulp Fiction',
      'release_date' => '1994-10-14',
      'poster_path' => '/dM2w364MScsjFf8pfMbaWUcWrR.jpg',
      'popularity' => 6.4840769584183,
      'title' => 'Pulp Fiction',
      'vote_average' => 7.8,
      'vote_count' => 942
    ),
    array(
      'adult' => null, 
      'backdrop_path' => null,
      'id' => 109005,
      'original_title' => 'Pulp Fiction Art',
      'release_date' => '2005-01-01',
      'poster_path' => '/yqbnCy6YCc9VY8cnkHGEgiylXey.jpg',
      'popularity' => 0.2,
      'title' => 'Pulp Fiction Art',
      'vote_average' => 0,
      'vote_count' => 0
    )
  )
)

アクセスするだけ'original_title'です$ary['results'][1]['original_title'];。これに対して foreach ループを実行すると、次のようになります。

foreach($ary as $value){
  if(is_array($value)){
    foreach($value as $val){
      foreach($val as $i => $v){
        //$i holds key
        //$v holds value
      }
    }
  }
}
于 2013-06-24T22:57:07.940 に答える