在我的array_map示例下面,
$page_names = ArrayHelper::map($pagesList['data'], 'id', 'name');
在我的array_map输出下面,
Array
(
[2042793285968] => YoungZen Technologies
[777607709013] => Challengers
[772593172886] => Vadavalli
[152429224945] => Time Pass
)
现在我想删除上面列表中的“挑战者”,并且我必须对下拉列表使用相同的$ page_names变量,而无需挑战者。
我对数组的概念不好,我尝试过像未发生的array_filter和in_array一样。
答案 0 :(得分:1)
这里是一种选择:
unset($page_names[array_search('Challengers', $page_names)]);
要在此处分解逻辑,首先我们用您要在关联数组中标识的 value 调用array_search
。如果找到该值,array_search
将返回与此值相对应的第一个键。
然后,我们使用unset
传入相应的键,以从数组中完全删除该键/值对。
要使用键从地图上删除条目,代码要简单得多:
unset($page_names[777607709013]);
答案 1 :(得分:1)
或者您可以将其过滤掉-
$arr = array_filter($arr, function($v) {
return $v != 'Challengers'; // return true if value not 'Cha...'
});
答案 2 :(得分:1)
使用array_diff的解决方案
$page_names = array_diff($page_names, ['Challengers']);