微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php数组怎么除去值等于3的元素

实现步骤:1、自定义一个过滤函数,用于处理数组,返回值不等于3的数组元素,语法为“function 函数名($num){return($num!=3);}”;2、使用array_filter()函数调用自定义的过滤函数处理指定数组即可,“array_filter($arr,函数名)”。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

PHP中,可以使用array_filter()函数过滤数组,除去值等于3的元素,即保留值不等于3的元素。

array_filter() 函数用回调函数过滤数组中的元素。

函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

实现方法只需在array_filter() 函数调用的回调函数中,设置条件,返回值不等于3的数组元素即可。

<?PHP
function f($num){
	 return($num!=3);
}
$arr=array(1,2,3,4,5,6,5,4,3,2,1);
var_dump($arr);
$res=array_filter($arr,f);
var_dump($res);
?>

1.png

说明:

array_filter — 使用回调函数过滤数组的元素

array_filter(array $array, ?callable $callback = null, int $mode = 0): array

参数:

 ◇array:要遍历的数组

 ◇callback:使用的回调函数

如果没有提供 callback 回调函数,将删除数组中 array 的所有“空”元素。 有关 PHP 如何判定“空”元素,请参阅 empty() 。

 ◇mode决定哪些参数发送到 callback 回调的标志:

  • ARRAY_FILTER_USE_KEY - 将键名作为 callback 回调的唯一参数,而不是值

  • ARRAY_FILTER_USE_BOTH - 将值和键都作为参数传递给 callback 回调,而不是仅传递值

  • 认值为 0 ,只传递值作为 callback 回调的唯一参数。

返回值:返回过滤后的数组。

array_filter遍历 array 数组中的每个值,并将每个值传递给 callback 回调函数。 如果 callback 回调函数返回 true,则将 array 数组中的当前值返回到结果 array 数组中。

返回结果 array 数组的键名(下标)会维持不变,如果 array 参数是索引数组,返回的结果 array 数组键名(下标)可能会不连续。 可以使用 array_values() 函数对数组重新索引。

当使用array_filter()函数来声明回调函数时,它会删除false值(空值),但是,如果未指定回调函数,则将删除数组中值等于FALSE的所有元素,例如空字符串或NULL值。

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐