新闻中心
php怎么知道数组有多少个值_PHP统计数组包含值的个数
要统计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);
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()进行累积计数
该方法以函数式编程方式实现统计,适合嵌套逻辑或需复用判断规则的场景。
Figma
Figma 是一款基于云端的 UI 设计工具,可以在线进行产品原型、设计、评审、交付等工作。
1371
查看详情
1、定义判断函数,例如:$isNonEmpty = function($carry, $item) { return $item !== null && $item !== ""; };
2、调用array_reduce()并初始化累加器为0:$count = array_reduce($arr, function($carry, $item) use ($isNonEmpty) { return $isNonEmpty($carry, $item) ? $carry + 1 : $carry; }, 0);
3、注意:array_reduce的回调中需显式返回累加器值 回调函数必须有return语句,否则结果为null
四、使用count()配合ARRAY_FILTER_USE_BOTH筛选特定键值对
当需要基于键和值联合判断是否计入统计时,此方法可访问键名与键值,适用于关联数组的条件计数。
1、定义带键值判断的回调函数:$callback = function($value, $key) { return is_string($value) && strlen(trim($value)) > 0; };
2、调用array_filter()并传入ARRAY_FILTER_USE_BOTH标志:$filtered = array_filter($arr, $callback, ARRAY_FILTER_USE_BOTH);
3、对结果调用count():$count = count($filtered); 此方式支持键名参与判定逻辑
五、使用array_keys()配合array_intersect_key()提取非空索引
该方法先获取所有非空值的键名,再通过键名交集还原原始结构中的对应元素,适用于需保留原始键名的统计需求。
1、获取所有非空值的键:$nonEmptyKeys = array_keys(array_filter($arr));
2、用这些键从原数组中提取对应元素:$nonEmptyValues = array_intersect_key($arr, array_flip($nonEmptyKeys));
3、统计提取结果:$count = count($nonEmptyValues); 结果数组保持原始键名,便于后续定位
以上就是php怎么知道数组有多少个值_PHP统计数组包含值的个数的详细内容,更多请关注其它相关文章!
# 回调函数
# 键值对
# red
# 回调
# 键值
# php
# 兰州网站建设广告词优化
# 跨境网站建设企业排名
# 旅游营销推广计划
# 南京企业关键词排名
# 必应可以seo吗
# 大庆关键词排名优化软件
# 谢岗seo推广运营
# 南山神马seo网站推广
# 企业网站推广溦心hfqjwl
# 天河seo优化推广价格
# 自定义
# 有多少个
# 实训
# 累加器
# 适用于
# 中非
# 上传
# 键名
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
如何在网页中实现特定地点的随机图片展示
《燕云十六声》两周内达九百万玩家!位居畅销榜第五
如何将HTML表格多行数据保存到Google Sheets
CSS Flexbox与媒体查询:实现响应式布局中元素的并排与堆叠
C++如何生成随机数_C++ random库使用方法与范围设置
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站
动漫花园资源网使用步骤_动漫花园资源网下载流程
Golang如何安装Swagger工具_GoSwagger文档生成环境
c++中的std::launder有什么实际用途_c++对象生命周期与指针优化
TikTok搜索不到用户发布内容怎么办 TikTok用户内容搜索优化方法
R星幕后开发视频泄露 包含《GTA6》等多款大作
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
LINUX下如何进行磁盘分区_fdisk与parted工具在LINUX中的使用对比
AO3最新入口2025公告_AO3中文官网合集
如何为你的Composer包编写自动化测试_集成PHPUnit到Composer的scripts工作流
1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】
J*aScript设计模式实践_j*ascript代码优化
解决Python logging 中 datefmt 导致时间戳固定不变的问题
PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程
淘宝网网页版登录入口 淘宝官方网页版快捷登录
处理嵌套交互式控件:前端可访问性指南
浏览器打开即用 美图秀秀网页版入口
mysql备份恢复性能优化_mysql备份恢复性能优化方法
支付宝如何设置安全保护_支付宝安全设置的全面教程
如何将HTML表格多行数据保存到Google Sheet
Go语言中高效处理x-www-form-urlencoded表单数据
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
CSS如何设置hover状态颜色_hover伪类调整背景或文字颜色
excel如何生成目录 excel一键生成工作表目录超链接
sublime怎么覆盖插件的默认快捷键_sublime快捷键优先级与设置
Lar*el 8 多关键词数据库搜索优化实践
生成rdflib自定义SPARQL函数:参数匹配与实践指南
照顾宝贝2小游戏点击立即在线玩
树莓派传感器触发:通过Twilio API发送WhatsApp消息教程
12306选座如何查看座位示意图_12306座位示意图解读与使用
PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比
深入理解Go语言中的指针类型:以*string为例
XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法
提升Kafka消费者健壮性:会话超时处理与消息处理语义
使用 Pandas 高效处理 .dat 文件:字符清理与数据计算
b站赚钱渠道_b站收益来源
Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
高德地图公交到站提醒失败如何解决 高德提醒权限设置
京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比
CSS实现侧边栏导航项全宽圆角悬停背景效果
曝R星经典之作开发图 设计简陋但信息密集!
在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析
斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程


2025-12-13
浏览次数:次
返回列表