Php 删除复杂数组元素
因此,我想根据子数组中的id从JSON数组中删除一个数组元素。我知道这听起来很奇怪。下面是一个数组示例。我想根据本例中[id]=20220的[dealer][id]数组删除整个数组[0]Php 删除复杂数组元素,php,arrays,json,multidimensional-array,Php,Arrays,Json,Multidimensional Array,因此,我想根据子数组中的id从JSON数组中删除一个数组元素。我知道这听起来很奇怪。下面是一个数组示例。我想根据本例中[id]=20220的[dealer][id]数组删除整个数组[0] Array ( [results] => Array ( [offset] => 1 [length] => 15 [data] => Array (
Array
(
[results] => Array
(
[offset] => 1
[length] => 15
[data] => Array
(
[0] => Array
(
[dealer] => Array
(
[id] => 20220
[name] => apple
)
)
)
)
}
实际上,[results]数组中有更多的元素。我不知道该怎么办
非常感谢您的帮助 首先循环通过数据键,然后检查经销商id是否与搜索到的id匹配
$id = 20220;
foreach ($array['results']['data'] as $key => $value) {
if ($value['dealer']['id'] == $id) {
unset($array['results']['data'][$key]);
}
}
使用数组过滤器
$array['results']['data'] = array_filter($array['results']['data'], function($v){return $v['dealer']['id'] != 20220;});
这真的是一个JSON数组吗?你有一个大括号。。。但没有开放的卷曲括号。不管它是否是JSON。。。这是无效的。我的错,这是一个API调用,我是一个JSON数组,但我这样做:$result=JSON\u decode($response,true);将其更改为常规数组。很抱歉。