2014-09-11 60 views
0

我正在以各种权限接收下面的JSON数组。 如果您不知道它位于哪个节点,如何检查publish_actions [status]值? (目前它是在[3],但它可以是任何其它数目)如何在不知道节点号的情况下从PHP中的JSON数组中获取值?

JSON数组:

Array (
    [data] => Array (
     [0] => Array (
      [permission] => installed 
      [status] => granted 
     ) 
     [1] => Array (
      [permission] => public_profile 
      [status] => granted 
     ) 
     [2] => Array (
      [permission] => manage_pages 
      [status] => granted 
     ) 
     [3] => Array (
      [permission] => publish_actions 
      [status] => granted 
     ) 
     [4] => Array (
      [permission] => user_groups 
      [status] => granted 
     ) 
    ) 
) 

回答

0

尝试

foreach($data as $k=>$v) { 
    if($v['permission']=='publish_actions'){ 
    $newarr[]['permission'] = $v['permission']; 
    $newarr[]['status'] = $v['status'] 
    } 
} 
print_r($newarr); 
2

使用json_decode然后迭代阵列:

$publish_actions_status = ''; 
$array=json_decode($json_string); 
foreach($array['data'] as $node){ 
    if($node['permission']=='publish_actions'){ 
     $publish_actions_status = $node['status']; 
     break; 
    } 
} 
相关问题