如何在嵌套的json中创建ID数组

时间:2019-09-30 07:33:27

标签: php arrays json

如何将此json转换为仅file_id的数组

 {
        "file_id": 1,
        "name": "r1",
        "file_parent_id": null,
        "subfolder": [
            {
                "file_id": 3,
                "name": "r1.1",
                "file_parent_id": 1,
                "subfolder": [
                    {
                        "file_id": 7,
                        "name": "r1.1.1",
                        "file_parent_id": 3,
                        "subfolder": [
                            {
                                "file_id": 9,
                                "name": "r1.1.1.1",
                                "file_parent_id": 7
                            }
                        ]
                    }
                ]
            },
            {
                "file_id": 5,
                "name": "r1.2",
                "file_parent_id": 1
            }
        ]
    },

对此

$arrayid=[1,3,7,9,5]

1 个答案:

答案 0 :(得分:1)

您可以将json_decodearray_walk_recursive一起使用

$arr = json_decode($json,true);
$a   = [];
array_walk_recursive($arr, function($v,$k) use(&$a){
 if($k == 'file_id') $a[] = $v;
});

演示:https://3v4l.org/5CcZt