删除复杂的数组元素

问题描述 投票:-2回答:2

所以我想根据子数组中的id从JSON数组中删除一个数组元素。我知道这听起来很奇怪。这是一个数组的例子。我想基于[代理] [id]数组删除整个数组[0],在这个例子中[id] = 20220。

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


}

实际上,[results]数组中有更多元素。我不知道该怎么做。

任何帮助是极大的赞赏!

php arrays json multidimensional-array
2个回答
1
投票

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

$id = 20220;

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

0
投票

使用array_filter,

$array['results']['data'] = array_filter($array['results']['data'], function($v){return $v['dealer']['id'] != 20220;});
© www.soinside.com 2019 - 2024. All rights reserved.