2017-12-30 50 views
0

多次元配列からデータを取得しています。 foreachループを使用している間、私は混乱しているし、私の配列からデータを引き出すことができません。ここで$ result_arrayという名前の私の配列されていますPHPでforeachループを使用して多次元配列を実行するにはどうすればよいですか?

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [category_id] => 19 
        [category_name] => Food 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

      [1] => Array 
       (
        [category_id] => 16 
        [category_name] => Gourmet 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

      [2] => Array 
       (
        [category_id] => 17 
        [category_name] => Islamic Product 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 


     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [category_id] => 28 
        [category_name] => Dry Food 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

      [1] => Array 
       (
        [category_id] => 39 
        [category_name] => Testt 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

      [2] => Array 
       (
        [category_id] => 37 
        [category_name] => Seasonal Items 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

      [3] => Array 
       (
        [category_id] => 38 
        [category_name] => Icon Items 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

     ) 

    [2] => Array 
     (
      [0] => Array 
       (
        [category_id] => 29 
        [category_name] => Biscuits 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

     ) 

    [3] => Array 
     (
      [0] => Array 
       (
        [category_id] => 30 
        [category_name] => Nutty 
        [publication_status] => 1 
        [deletion_status] => 1 
       ) 

     ) 

) 

ここでは私のループです:

foreach($result_array as $info) { 
    echo $info['category_name'].'<br>'; 
} 

このループは私に未定義のインデックスcategory_nameを言って、エラーを与えています。私はこの分野で初心者です。誰かが私を啓発することはできますか?

foreach($result_array as $outer_array) 
    foreach($outer_array as $inner_array) 
     echo $inner_array['category_name'] . '<br>'; 
+0

Nope @Siraj。私の配列はそれとは異なります。答えはすでに与えられています。私は2回foreachを使用しなければならなかった – Gamer

+0

その後、この答えを読むhttps://stackoverflow.com/a/29363646/5132337 – Siraj

+1

それを逃した。とった – Gamer

答えて

4

あなたはこのように、二重のforeachを必要としています。 foreachまたはそれ以上の賢明な何かをする必要があります。

1

あなたがオーバーループしている$result_arrayは4つの要素と、それらのどれもがキーcategory_nameと価値を持っている:ありがとう

関連する問題