在PHP中,有时候我们需要去除数组中的空值,以便我们更好地处理数据。本文将探讨使用不同方法去除数组中的空值。
方法一:使用array_filter函数
array_filter()函数是PHP内置的用来过滤数组元素的函数,当传递回调函数时,该函数返回一个只包含回调函数返回值不为 FALSE(即不为null、0、“ ”、“0”、false、array())的新数组。我们可以使用该函数来去除数组中的空值,示例代码如下:
$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array()); $arr = array_filter($arr); //过滤 print_r($arr); //只剩下 'foo'、'bar'
结果如下:
Array ( [0] => foo [5] => bar )
方法二:使用foreach循环遍历数组
我们也可以使用foreach循环遍历数组,手动去除其中的空值,示例代码如下:
$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array()); foreach ($arr as $key => $value) { if (empty($value)) { unset($arr[$key]); //去除数组中的空值 } } print_r($arr); //只剩下 'foo'、'bar'
结果同样为:
Array ( [0] => foo [5] => bar )
方法三:使用array_diff函数
我们还可以使用array_diff()函数,该函数用于返回一个数组,该数组包含了所有在第一个参数数组中但不在其余参数数组中的值。也就是说,我们可以将空值放到第二个参数中去,示例代码如下:
$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array()); $arr = array_diff($arr, array('')); //去除数组中的空值 print_r($arr); //只剩下 'foo'、'bar'
结果同样为:
Array ( [0] => foo [5] => bar )
综上所述,我们有多种方法可以去除PHP数组中的空值,其中使用array_filter()函数最为方便。但是,如果你需要手动处理数组中的每一个元素,那么使用foreach循环可能会更好一些。
以上是php怎么去除数组的空值的详细内容。更多信息请关注PHP中文网其他相关文章!