2012-10-26 82 views
0

JSON提要:JSON PHP的ForEach

{ 
     "Group": [ 
      { 
      "name": "HolderOne", 
      "operators": [ 
      { 
       "username": "ken", 
       "status": 3 
      }, 
    .....etc..... 

CODE:

<?php 
$json = file_get_content('path to feed'); 
$data=json_decode($json); 

echo $data->cGroup[0]->operators[0]->username; //WORKS! 

if (is_array($data->Group->operators)) 
    { foreach($data->Group->operators as $operator) 
    {if($operator->username == "ken") {echo $operator->status;}} 
    } else { echo 'NOT AN ARRAY'; } //DOESNT WORK - DISPLAYS NOT AN ARRAY 
?> 

我想说的用户名是否肯(或者我指定我的代码更)显示把对应的状态。

所以......

echo $data->Group[0]->operators[0]->username; //WORKS! 

但是......

foreach($data->Group->operators as $operator) {if($operator->username == "ken") {echo $operator->status;}} 

......不 - 可能是一些显而易见的,但任何人都可以看到我的问题吗?

干杯 安迪

回答

1

它必须是$data->Group[0]->operators,或遍历Groups,并有内另一个循环...

foreach($data->Group as $group){ 
    foreach($group->operators as $operator){ 
     if($operator->username == "ken") {echo $operator->status;} 
    } 
} 
+0

Bazinga !谢谢比利,工作过。 – webservicesco

0

我觉得这是真的:

foreach($data["Group"]["operators"] as $operators) 
{ 
    if($operators["username"] == "ken") 
    { 
      echo $operators["status"]; 
    } 
    else 
    { 
      echo 'NOT AN ARRAY'; 
    } 
}