PHP数组去空值有五种方法:一、array_filter()默认过滤;二、配合自定义回调仅去空字符串;三、foreach手动unset;四、array_diff()排除指定空值;五、array_filter()加ARRAY_FILTER_USE_BOTH保留键名过滤。

如果PHP数组中包含空值(如空字符串、null、0、false等),需要将其移除以获得纯净的数据结构。以下是几种有效去除空值的方法:
一、使用array_filter()默认过滤
array_filter()在不传入回调函数时,默认会移除所有等价于false的值,包括空字符串、null、0、0.0、false、array()等。该方法简洁高效,适用于大多数常规去空场景。
1、定义含空值的数组,例如:$arr = ['a', '', null, 'b', 0, false, 'c'];
2、调用array_filter()处理:$filtered = array_filter($arr);
立即学习“PHP免费学习笔记(深入)”;
3、重置数组键名以避免非连续数字索引:$filtered = array_values($filtered);
二、使用array_filter()配合自定义回调精确过滤空字符串
当仅需移除空字符串('')而保留0、false等合法值时,必须提供显式回调函数,避免默认行为误删有效数据。
1、定义数组:$arr = ['a', '', 'b', 0, false, 'c'];
2、使用回调函数判断是否为空字符串:$filtered = array_filter($arr, function($v) { return $v !== ''; });
3、重置键名:$filtered = array_values($filtered);
三、使用foreach遍历并手动unset
该方法提供完全控制权,可结合复杂条件判断,适合需保留原始键名或执行额外逻辑的场景。
还木有评论哦,快来抢沙发吧~