php怎么求一个数组中大于0的元素个数
时间:2022-08-19 18:24
实现步骤:1、使用array_filter()函数调用回调函数来过滤数组,返回大于0的元素,语法“function f($num){return($num>0);}$res=array_filter($arr,"f");”,会返回一个包含大于0元素的过滤数组;2、使用count()函数获取过滤数组的长度,也就是大于0元素的个数即可,语法“count(过滤数组)”。 本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑 在php中,可以利用array_filter()函数和count()函数来求一个数组大于0的元素个数。 实现步骤: 步骤1:使用array_filter()函数过滤数组,返回数组中大于0的元素 array_filter() 函数用回调函数过滤数组中的元素,会返回一个过滤后的数组。 该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。 过滤数组中不大于0的元素后,返回的过滤数组中包含的元素都是大于0的。 步骤2:使用count()函数获取过滤数组的长度,即大于0的元素个数 count() 函数返回数组中元素的数目。 说明: 1、array_filter array_filter — 使用回调函数过滤数组的元素 参数: ◇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值。 2、count() count() 函数可以统计出数组里所有元素的数量,或对象中的属性个数,其语法格式如下: 参数说明如下: 提示:如果 $array 既不是数组,也不是对象,count() 函数将返回 1;如果 $array 等于 NULL,则 count() 函数返回 0。 sizeof() 函数是 count() 函数的别名,也就是所 sizeof() 函数的功能及使用方法与 count() 函数完全相同。 推荐学习:《PHP视频教程》 以上就是php怎么求一个数组中大于0的元素个数的详细内容,更多请关注gxlsystem.com其它相关文章!<?php
header('content-type:text/html;charset=utf-8');
function f($num){
return($num>0);
}
$arr=array(2,-1,4,-8,-10,-5,9);
var_dump($arr);
$res=array_filter($arr,"f");
echo "过滤不大于0的数组后:";
var_dump($res);
?>
<?php
header('content-type:text/html;charset=utf-8');
function f($num){
return($num>0);
}
$arr=array(2,-1,4,-8,-10,-5,9);
var_dump($arr);
$res=array_filter($arr,"f");
echo "过滤不大于0的数组后:";
var_dump($res);
$len=count($res);
echo "数组中大于0的元素个数为:".$len;
?>
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
count($array , $mode )