使用array_filter()结合array_keys()可提取非空值的键名:默认过滤假值(如null、""、0等),或自定义条件排除特定值(如仅排除null和""),多维数组可通过回调函数针对字段判断,最终获取符合条件元素的键名列表。
在 PHP 中,若想从数组中提取非空(即排除 null、空字符串 ""、0、false 等“假值”)的键名,不能直接使用 array_keys() 完成过滤,因为它默认返回所有键。需要结合 array_filter() 先清理值,再用 array_keys() 提取键名。
使用 array_filter() 过滤掉值为空的元素(如 null、""、false、0、[] 等),然后通过 array_keys() 获取剩余元素的键:
$array = [
'name' => 'Alice',
'age' =>
null,
'city' => '',
'job' => 'Engineer',
'score'=> 0,
'active'=> true
];
$keys = array_keys(array_filter($array));
// 结果:['name', 'job', 'active']
注意:array_filter() 在不传回调函数时,会自动过滤“假值”(falsy values),包括:
- null
- ""(空字符串)
- 0
- false
- [](空数组)
如果你希望保留值为 0 或 false 的项,只排除 null 和 "",就需要自定义过滤条件:
$keys = array_keys(array_filter($array, function($value) {
return $value !== null && $value !== '';
}));
这样即使值是 0 或 false,只要不是 null 或空字符串,其键名也会被保留。
如果数组是多维的,比如用户列表,你想找出哪些用户的某个字段(如 email)不为空,也可以类似操作:
$users = [
['name' => 'Alice', 'email' => 'alice@example.com'],
['name' => 'Bob', 'email' => null],
['name' => 'Cindy', 'email' => '']
];
$validEmailKeys = array_keys(array_filter($users, function($user) {
return !empty($user['email']);
}));
// 结果:[0] —— 只有 Alice 的 email 有效
这里使用 !empty() 判断字段是否存在且非空。
基本上就这些方法。根据你对“空值”的定义,选择合适的过滤方式即可。重点是先用 array_filter() 控制保留哪些元素,再用 array_keys() 拿到键名列表。
# php
# 回调函数
# ai
# NULL
# 多维数组
# 字符串
# 多维
# 键名
# 值为
# 空字符串
# 自定义
# 再用
# 回调
# 如果你
# 也会
# 你想
相关文章:
如何通过VPS搭建网站快速盈利?
如何挑选最适合建站的高性能VPS主机?
开源网站制作软件,开源网站什么意思?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
制作企业网站建设方案,怎样建设一个公司网站?
html制作网站的步骤有哪些,iapp如何添加网页?
如何基于云服务器快速搭建个人网站?
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何快速搭建高效可靠的建站解决方案?
建站之星上传入口如何快速找到?
南宁网站建设制作定制,南宁网站建设可以定制吗?
如何在万网开始建站?分步指南解析
建站主机CVM配置优化、SEO策略与性能提升指南
如何用腾讯建站主机快速创建免费网站?
建站ABC备案流程中有哪些关键注意事项?
网站制作价目表怎么做,珍爱网婚介费用多少?
建站之星安装提示数据库无法连接如何解决?
建站之星3.0如何解决常见操作问题?
如何零基础开发自助建站系统?完整教程解析
制作门户网站的参考文献在哪,小说网站怎么建立?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
建站之星如何快速生成多端适配网站?
javascript中的try catch异常捕获机制用法分析
如何通过cPanel快速搭建网站?
网站按钮制作软件,如何实现网页中按钮的自动点击?
定制建站价位费用解析与套餐推荐全攻略
如何快速搭建高效服务器建站系统?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
c# 服务器GC和工作站GC的区别和设置
如何选购建站域名与空间?自助平台全解析
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
TestNG的testng.xml配置文件怎么写
在线制作视频的网站有哪些,电脑如何制作视频短片?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何通过远程VPS快速搭建个人网站?
如何打造高效商业网站?建站目的决定转化率
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
建站主机选择指南:服务器配置与SEO优化实战技巧
名字制作网站免费,所有小说网站的名字?
如何在橙子建站中快速调整背景颜色?
如何通过万网虚拟主机快速搭建网站?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站之星×万网:智能建站系统+自助建站平台一键生成
如何通过西部建站助手安装IIS服务器?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
建站主机空间推荐 高性价比配置与快速部署方案解析
建站之星如何助力网站排名飙升?揭秘高效技巧
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
*请认真填写需求信息,我们会在24小时内与您取得联系。