您现在的位置是:群英 > 开发技术 > PHP语言
php求一个数组中大于0的元素个数,实现步骤是?
Admin发表于 2022-12-24 11:05:00588 次浏览
在实际案例的操作过程中,我们可能会遇到“php求一个数组中大于0的元素个数,实现步骤是?”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧。

实现步骤: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,则把输入数组中的当前键值返回给结果数组。数组键名保持不变。

<?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);
?>
登录后复制

过滤数组中不大于0的元素后,返回的过滤数组中包含的元素都是大于0的。

步骤2:使用count()函数获取过滤数组的长度,即大于0的元素个数

count() 函数返回数组中元素的数目。

<?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;
?>
登录后复制

说明:

1、array_filter

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值。

2、count()

count() 函数可以统计出数组里所有元素的数量,或对象中的属性个数,其语法格式如下:

count($array , $mode )
登录后复制

参数说明如下:

  • $array:为待统计的数组或对象;
  • $mode:为可选参数,可以省略。
    • 如果省略 $mode 参数,或者将其设置为 COUNT_NORMAL 或者 0,count() 函数将不检测多维数组;
    • 如果 $mode 设置为 COUNT_RECURSIVE 或者 1,count() 函数将递归计算数组中元素的个数,对于计算多维数组的元素个数尤为有用。

提示:如果 $array 既不是数组,也不是对象,count() 函数将返回 1;如果 $array 等于 NULL,则 count() 函数返回 0。

sizeof() 函数是 count() 函数的别名,也就是所 sizeof() 函数的功能及使用方法与 count() 函数完全相同。


以上就是关于php求一个数组中大于0的元素个数,实现步骤是?的介绍啦,需要的朋友可以参考上述内容,希望对大家有帮助,想要了解更多,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: 求元素个数
相关信息推荐
2022-06-28 17:08:05 
摘要:golang防止意外崩溃的方法:golang中可以使用panic配合defer和recover实现错误捕捉和恢复,让代码在发生崩溃后允许继续运行。
2022-07-21 17:56:34 
摘要:bootstraptable隐藏列的方法:1、通过“bootstrapTable('hideColumn', 'GoodsId');”方式隐藏;2、通过属性“visible: false”实现隐藏。
2022-09-13 17:47:44 
摘要:在nodejs中,require用于加载模块或文件;require函数是一种运行时同步加载的机制。当该函数使用一个参数时,参数值可以带有完整路径模块的文件名,也可以为模块名,当node加载该文件后,会有一个“require.cache”函数对该文件进行缓存。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部