如何在不知道节点号的情况下从PHP中的JSON数组中获取值?

如何在不知道节点号的情况下从PHP中的JSON数组中获取值?,php,arrays,json,Php,Arrays,Json,我正在接收下面具有各种权限的JSON数组。 如果您不知道它位于哪个节点,如何检查publish\u actions[status]值?(目前在[3]中,但可以是任何其他数字) JSON数组: Array ( [data] => Array ( [0] => Array ( [permission] => installed [status] => granted ) [

我正在接收下面具有各种权限的JSON数组。 如果您不知道它位于哪个节点,如何检查
publish\u actions[status]
值?(目前在[3]中,但可以是任何其他数字)

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
        )
    )
)

使用json_解码,然后迭代数组:

$publish_actions_status = '';
$array=json_decode($json_string);
foreach($array['data'] as $node){
    if($node['permission']=='publish_actions'){
        $publish_actions_status = $node['status'];
        break;
    }
}
试一试

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