【发布时间】:2016-11-03 20:38:43
【问题描述】:
我有一个多维的动态数组,例如:
Array
(
[0] => Array
(
[key] => delete
[label] => hi Delete
)
[1] => Array
(
[key] => edit
[label] => hi Edit
)
[2] => Array
(
[key] => update
[label] => hi update
)
)
现在我想从上面的多维数组中删除下面的数组:
Array
(
[key] => delete
[label] => hi Delete
)
最后我想要一个像这样的输出:
数组 (
[0] => Array
(
[key] => edit
[label] => hi Edit
)
[1] => Array
(
[key] => update
[label] => hi update
)
)
为此我已经尝试过了,下面是我的代码:
<?php
$arr1 = array(array("key" => "delete", "label" => "hi Delete"),array("key" => "edit", "label" => "hi Edit"), array("key" => "update", "label" => "hi update"));
$diff = array_diff_assoc($arr1, array("key" => "delete", "label" => "hi Delete"));
print_r($diff);
?>
但我在输出中得到了完整的 $arr1:
Array
(
[0] => Array
(
[key] => delete
[label] => hi Delete
)
[1] => Array
(
[key] => edit
[label] => hi Edit
)
[2] => Array
(
[key] => update
[label] => hi update
)
)
我该怎么做,请帮帮我
【问题讨论】:
-
你可以试试 unset($arr1[0]);
-
这里的数组是动态的,我不知道索引
-
看看这个:php.net/manual/en/function.array-diff-assoc.phparray_diff 的工作方式与您的预期不同。
-
你正在使用 arrray_diff_assoc($arr1, array("key" => "delete", "label" => "hi Delete")) 这里 $arr1 是多维的,下一个是单维的为什么你会一样
标签: php multidimensional-array