要统计PHP数组中非空值个数,可用五种方法:一、array_filter()配合count()过滤默认空值;二、foreach手动判断;三、array_reduce()函数式累积;四、array_filter()加ARRAY_FILTER_USE_BOTH联合键值判断;五、array_keys()与array_intersect_key()保留原始键名统计。

如果您需要获取PHP数组中实际包含的值的数量,必须区分数组的总长度与非空值的数量。以下是统计数组中非空值个数的多种方法:
一、使用array_filter()配合count()
该方法先过滤掉所有被视为“空”的值(如null、false、0、""、array()等),再统计剩余元素个数。它适用于需要排除逻辑上为空的值的场景。
1、定义目标数组,例如:$arr = [1, "", null, "hello", 0, false, 42];
2、调用array_filter()不传回调函数,默认移除所有空值:$filtered = array_filter($arr);
立即学习“PHP免费学习笔记(深入)”;
3、对过滤后的数组使用count():$count = count($filtered);
4、输出结果:echo $count; 此时输出为3(仅保留1、"hello"、42)
二、使用foreach循环手动计数
该方法提供完全可控的判断逻辑,可自定义“什么是空值”,例如保留0和"0",仅排除null和空字符串。
1、初始化计数器变量:$count = 0;
2、遍历数组每个元素:foreach ($arr as $value) {
3、添加自定义判断条件,例如:if ($value !== null && $value !== "") { $count++; }
4、循环结束后,$count即为满足条件的值的个数 此方式可精确控制“空”的定义
三、使用array_reduce()进行累积计数
该方法以函数式编程方式实现统计,适合嵌套逻辑或需复用判断规则的场景。
还木有评论哦,快来抢沙发吧~