gpt4 book ai didi

php - 使用 array_map 从数组中删除元素

转载 作者:可可西里 更新时间:2023-11-01 12:28:15 25 4
gpt4 key购买 nike

我使用 array_map 来验证每个数组元素。如果它没有通过验证,它应该从初始数组中删除:

$array = (123, 456);

$array = array_map(function ($e){

if( !is_numeric($e) ){
unset($e);
return; //this way i get a NULL element
}

$return $e;

}, $array);

OUTPUT: array(3) { [0]=> int(523) [1]=> int(555) [2]=> NULL }

当然,我可以在最后添加类似这样的内容:

$array = array_filter($array, 'strlen');

但是在 array_map 中没有办法做到这一点吗?

更新

关于这个话题,忘了说一个案例。如果一个元素没有通过验证,我想取消设置整个数组怎么办?这可以用 array_filter 、 array_map 或其他任何东西来完成吗?我不想使用 for 等遍历数组。

最佳答案

我认为array_map不是为您的需要而设计的,因为它为数组的每个元素应用了回调。但是array_filter做:

$array = array_filter($array, function($e) {
return is_numeric($e);
});

或者更短:

$array = array_filter($array, 'is_numeric');

关于php - 使用 array_map 从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42834869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com