删除复杂的数组元素



因此,我想根据子阵列中的ID删除JSON数组中的数组元素。我知道这听起来很奇怪。这是阵列的示例。我想基于[经销商] [id]数组删除整个数组[0],其中[id] = 20220在此示例中。

Array
(
    [results] => Array
        (
            [offset] => 1
            [length] => 15
            [data] => Array
                (
                    [0] => Array
                        (
                            [dealer] => Array
                                (
                                    [id] => 20220
                                    [name] => apple
                                )
                        )
                 )
        )

}

实际上[结果]数组中还有更多元素。我不确定该怎么做。

任何帮助都非常感谢!

首先通过数据键循环,然后检查经销商ID是否匹配搜索的ID

$id = 20220;
foreach ($array['results']['data'] as $key => $value) {
    if ($value['dealer']['id'] == $id) {
        unset($array['results']['data'][$key]);
    }
}

使用array_filter,

$array['results']['data'] = array_filter($array['results']['data'], function($v){return $v['dealer']['id'] != 20220;});

最新更新