
本文介绍了如何在 PHP 中递归地从多维数组中删除 `null` 和空字符串值,同时保留值为 0 的元素。通过示例代码和详细解释,帮助开发者理解如何正确地处理多维数组,避免常见错误,并提供了一种高效的解决方案。
在 PHP 开发中,处理多维数组是很常见的任务。有时我们需要清理数组,移除其中不需要的 null 值或者空字符串,但又要保留有意义的零值。本文将提供一种递归方法,以实现此目的。
以下是一个用于递归删除多维数组中 null 和空字符串值的 PHP 函数:
<?php
class ArrayHelper {
/**
* 递归地从多维数组中删除 null 和空字符串值,保留 0 值。
*
* @param array $data 待处理的数组 (注意:使用引用传递)
* @return array 处理后的数组
*/
public function cleanArray(array &$data): array
{
foreach ($data as $key => &$value) {
if (is_array($value)) {
// 递归调用自身来处理子数组
$this->cleanArray($value);
// 删除为空的子数组
if (empty($value)) {
unset($data[$key]);
}
} elseif ($value === null || $value === '') {
// 删除 null 或空字符串值
unset($data[$key]);
}
}
return $data;
}
}
// 示例用法
$dataPayment = [
"operationType" => null,
"terminal" => 12345,
"payment" => [
"terminal" => 12345,
"order" => "1234519997",
"amount" => 100,
"currency" => "EUR",
"secure" => 0,
"idUser" => 123456789,
"tokenUser" => "zidkeKeu68Kld",
"urlOk" => null,
"urlKo" => null,
"originalIp" => "1.130.151.28",
"methodId" => 1,
"trxType" => "N",
"userInteraction" => 1,
"scaException" => "MIT"
],
"subscription" => [
"startDate" => null,
"endDate" => null
]
];
$helper = new ArrayHelper();
$cleanedArray = $helper->cleanArray($dataPayment);
print_r($cleanedArray);
?>代码解释:
ViiTor AI
一个强大的多语言AI语音合成和视频转译平台
9414
查看详情
输出结果:
Array
(
[terminal] => 12345
[payment] => Array
(
[terminal] => 12345
[order] => 1234519997
[amount] => 100
[currency] => EUR
[secure] => 0
[idUser] => 123456789
[tokenUser] => zidkeKeu68Kld
[originalIp] => 1.130.151.28
[methodId] => 1
[trxType] => N
[userInteraction] => 1
[scaException] => MIT
)
)通过使用递归和引用传递,我们可以有效地从 PHP 多维数组中删除 null 和空字符串值,同时保留有意义的零值。 这种方法可以帮助清理数据,提高代码的可读性和可维护性。 在实际应用中,请根据数组的结构和大小,合理选择处理方法,并注意性能优化。
以上就是PHP:递归删除多维数组中的 Null 和空值的详细内容,更多请关注php中文网其它相关文章!
# 空字符串
# 免费seo的网站推广
# 山阳网站优化公司有哪些
# a扩大产品组合策略b网站推广
# 松茸网络营销推广方案
# 河北网站建设备案价格
# 热狗网站优化外包
# 苏州网站建设与管理平台
# 嵩明新营销模式推广优质商家
# 蜗牛seo博客推广产品
# 寿光seo品牌
# 这是
# php
# 怎么看
# 有意义
# 是一个
# 字符串值
# 为空
# 组中
# 多维
# 递归
# php 函数
# 递归函数
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
Sublime怎么格式化HTML代码_Sublime前端代码美化插件使用指南
Win10如何关闭操作中心通知 Win10免打扰设置全攻略【清爽】
《幻兽帕鲁》手游帕鲁捕捉技巧分享
《土豆雅思》修改密码方法
汽水音乐网页端访问 汽水音乐官方网页直达
鸣潮历史学家灯塔位置一览
斯宾塞称XGP云游戏“蒸蒸日上”:正在构建一个游戏从未如此唾手可得的未来
铁路12306官网入口 铁路12306中国铁路官网登录首页
苹果手机手电筒无法开启
电脑“无法访问指定设备、路径或文件”怎么办?五种权限设置方法
知乎APP怎么查看自己被邀请的问题_知乎APP邀请回答记录查看与参与方法
使用Selenium在无头Chrome中交互动态菜单和复选框的策略
汽水音乐车机版 汽水音乐车机版官方入口
AO3中文版手机快速通道_AO3最新稳定链接更新
mysql归档数据怎么导出为csv_mysql归档数据导出为csv文件的方法
智学网成绩单查询系统网_智学网学生平台登录
XPath动态元素定位:如何精准选择文本内容变化的元素
C++如何将字符串转换为大写或小写_C++ transform函数的使用技巧
如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践
Win10显卡驱动安装失败怎么办 Win10使用DDU彻底卸载驱动【解决】
被称为海蜈蚣的海洋动物是
Google Drive API 认证:服务账户与OAuth 2.0的选择与实践
Win10如何查看已安装的更新补丁 Win10卸载指定更新教程【教程】
FullCalendar自定义按钮样式定制指南
解决 Vue 3 组件未定义错误:理解 createApp 与根组件的正确使用
睡觉时心跳快是什么原因 夜间心悸如何应对
windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化
《微信》视频号原创声明开启方法
国际经济与贸易就业方向解析
蛙漫2(台版)正版官网 2025免费网页版分享
HTML与J*aScript实现下拉菜单驱动的动态表格:构建交互式维修表单
泰拉瑞亚网页版在线登录入口 泰拉瑞亚官方正版入口
J*aScript桌面应用_Electron多进程架构实战
cad加载的线型看不见怎么办_cad线型不可见问题解决方法
263企业邮箱如何设置邮件转发功能
CodeIgniter 3 中基于 MySQL 数据高效生成动态图表教程
如何查找哪个composer包引入了特定的依赖?
使用VS Code调试Python代码:从入门到精通
Sublime怎么配置YAML文件格式化_Sublime YAML Formatter插件教程
顺丰速运官网查询入口 顺丰物流查询官网入口链接
钉钉任务无法提醒如何处理 钉钉任务提醒优化方法
Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践
windows10怎么开启wsl_windows10安装linux子系统教程
win11讲述人怎么关闭 Win11屏幕朗读辅助功能禁用方法【技巧】
PSD转AI文件的简单方法
驱动人生:游戏修复指南
POKI小游戏在线免费入口链接 POKI小游戏无下载秒玩玩
c++如何链接Boost库_c++准标准库的集成与使用
j*a中ArrayBlockingQueue的使用
《下一站江湖2》武器获取方法
2025-11-03
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。