2017-01-23 15 views
-1

foreachループで配列をループしたいのですが、結果が混在しています。この配列をforeachループでどのようにループするのですか?

以下の配列は変数$resultに格納されています。

foreach ($result as $call) {を実行すると、配列に3つの項目があっても1回だけループします。なぜ誰かが説明できますか?

ありがとうございます。

Array 
(
    [item] => Array 
     (
      [0] => Array 
       (
        [CallRef] => 1025742698 
       ) 
      [1] => Array 
       (
        [CallRef] => 1025786953 
       ) 
      [2] => Array 
       (
        [CallRef] => 1025786953 
       ) 
     ) 
) 
+0

* 3つの要素を含む配列である* one *要素を含む配列です。解決策:*内部配列のループ*。 –

+0

実際、 '$ result'は1つの配列項目しか持っていません。 Itemには3つのアイテムがあります。 –

+0

あなたは注意深く見なければなりません。ダンプ内の '[item]'は無視できません。 – Barmar

答えて

3

これは多次元なので、最初の配列には1つのインデックスしかありません。 1つの結果、別の配列になります。

このようなことをしたいと思うでしょう。ここ

foreach($result['item'] as $res){ 
    //some action 
} 

さらに詳しい情報:Looping a multidimensional array in php

+1

'$ result [0]'はありません。 '$ result ['item']'でなければなりません。 – Barmar

+1

内部配列が結合的であることに気付かなかった。修正しました。 – Kaylined

+0

多くのおかげで、@ Kaylined - あなたは私のために素晴らしい助けをしてくれました:-) – michaelmcgurk

2
foreach($result['item'] as $item){ 
    echo $item['CallRef'] 
} 
1

は次のように試してみてください。..

foreach ($result['item'] as $key => $value) 
     { 
     echo $value['CallRef']."<br/>" 
     } 
0

はそれで行きます。

$data=array('item' => array(array('CallRef' => 1025742698),array('CallRef' => 1025786953), array('CallRef' => 1025786953))); 

foreach($data['item'] as $data_res) 
{ 
    echo $data_res['CallRef']."</br>"; 
} 
関連する問題