如何在 php 中删除 array_map 中的特定值
How to remove particular value in array_map in php
下面是我的 array_map 示例,
$page_names = ArrayHelper::map($pagesList['data'], 'id', 'name');
下面是我的 array_map 输出,
Array
(
[2042793285968] => YoungZen Technologies
[777607709013] => Challengers
[772593172886] => Vadavalli
[152429224945] => Time Pass
)
现在我想删除上面列表中的 'Challengers',我必须对没有挑战者的下拉列表使用相同的 $page_names 变量。
我不擅长数组概念,我试过像 array_filter 和 in_array 那样没有发生。
这是一个选项:
unset($page_names[array_search('Challengers', $page_names)]);
为了分解这里的逻辑,首先我们调用 array_search
并使用您想要在关联数组中标识的 值 。 array_search
将return这个值对应的第一个key,如果可以找到该值。
然后,我们使用 unset
传入相应的键,从数组中完全删除 key/value 对。
使用键从映射中删除条目,代码简单得多:
unset($page_names[777607709013]);
或者您可以将其过滤掉 -
$arr = array_filter($arr, function($v) {
return $v != 'Challengers'; // return true if value not 'Cha...'
});
解决方案使用 array_diff
$page_names = array_diff($page_names, ['Challengers']);
下面是我的 array_map 示例,
$page_names = ArrayHelper::map($pagesList['data'], 'id', 'name');
下面是我的 array_map 输出,
Array
(
[2042793285968] => YoungZen Technologies
[777607709013] => Challengers
[772593172886] => Vadavalli
[152429224945] => Time Pass
)
现在我想删除上面列表中的 'Challengers',我必须对没有挑战者的下拉列表使用相同的 $page_names 变量。
我不擅长数组概念,我试过像 array_filter 和 in_array 那样没有发生。
这是一个选项:
unset($page_names[array_search('Challengers', $page_names)]);
为了分解这里的逻辑,首先我们调用 array_search
并使用您想要在关联数组中标识的 值 。 array_search
将return这个值对应的第一个key,如果可以找到该值。
然后,我们使用 unset
传入相应的键,从数组中完全删除 key/value 对。
使用键从映射中删除条目,代码简单得多:
unset($page_names[777607709013]);
或者您可以将其过滤掉 -
$arr = array_filter($arr, function($v) {
return $v != 'Challengers'; // return true if value not 'Cha...'
});
解决方案使用 array_diff
$page_names = array_diff($page_names, ['Challengers']);