2014-09-11 22 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; 
    } 
} 
相關問題