2011-12-14 5 views
0

私は、json_decode()で2つの配列を出力するforループを持っています。私は最初の配列のデータを取得する方法と2番目の配列データのみを取得する方法が不思議でした。forループ内の複数の配列はjsonで出力する必要があります

for($i = 0; $i < $node_count; $i++) 
{ 

    $results[$i] = curl_multi_getcontent ($curl_arr[$i] ); 
    $results[$i] = json_decode($results[$i],true); 

} 

私は$ results [0]と$ results [1]を取得します。

私は出力できのみ$結果[0]

echo "<pre>"; 
print_r($results[0]); 
echo "</pre>"; 

これは私にエラーを与えていないと私は出力にのみ最初の配列ができました。しかし、これを試したときに

foreach($results[0] as $result){ 
    $result['data']['id']; 
} 

私には未定義のインデックスのエラーが出ます。私は[0]

foreach($results as $result){ 
    $result['data']['id']; 
} 

せずにしようとした場合でも、これが両方の配列でIDを出力しますが、私は唯一の配列を取得しようとしています。なぜこうなった?

ありがとうございます!

EDIT:

array(
     array(
     'data' => array('id' => ...), 
      .... 
    ), 
     ... 
    ) 



    array(
     array(
     'data' => array('id' => ...), 
      .... 
    ), 
     ... 
    ) 

答えて

0

$results[0]が配列$resultsの最初の要素である、彼らは同じものではありません。

編集:

$results

array(
    array(
    'data' => array('id' => ...), 
     .... 
), 
    ... 
) 

$results[0]のようなものがあるでいろいろ書い

array(
    'data' => array('id' => ...), 
     .... 
) 
+0

どうして私はprint_r($ results [0])にできるのですか? foreachでは何を使用しますか? – hellomello

+0

@andrewliuどちらも配列です。私の編集を参照してください。 – xdazz

+0

あなたの応答に感謝します。しかし、結果[0]と結果[1]が出力され、最初の配列からのみ値を取得したい場合はどうなりますか?私は2つの配列を示す私の投稿を編集しました – hellomello

0

ようにあなたが試すことができます

echo $results[0]['data']['id']; 
echo $results[1]['data']['id']; 
+0

ええ、私はそれを行うことができますが、複数のIDはデータ内にあるので、なぜ私はforeachループをやろうとしています – hellomello

関連する問題