2011-12-14 42 views
0

我有一个for循环,输出json_decode()中的两个数组;我想知道如何获得第一个数组的数据,或者第二个数组的数据。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,但我只是想获得一个阵列。这是为什么发生?

谢谢!

编辑:

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])?我会在什么地方使用? – hellomello

+0

@andrewliu他们都是数组,请参阅我的编辑。 – xdazz

+0

感谢您的回应,但是如果我有结果[0]和结果[1]输出并且我只想从第一个数组中获取值,该怎么办?我编辑了我的帖子,显示了两个数组 – hellomello

0

你可以尝试

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

是的,我可以做到这一点,但在数据中的多个ID,这就是为什么我想做一个foreach循环 – hellomello