php 数组怎么去掉null
时间 : 2023-02-14 09:54:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

php数组可以使用几种方法去掉null值,以下列出主要的几种方法。

1、使用array_filter函数

一个用于过滤多维数组中的空值(null)数据的函数就是array_filter。它返回一个新的数组,只包含不是null值的数据,也可以使用字符串"!"来过滤多维数组中为0或""(空字符串)的数据。

2、array_diff

array_diff() 函数用来计算两个数组的差集,可以使用null值作为过滤器,过滤掉null值的数据,返回一个新的数组。

3、使用foreach循环

使用foreach循环去掉数组中的null值也是一个好的选择,相比较array_filter函数,它更加灵活,可以根据需要,个性化过滤空值和不空值。

示例:

```php

$array = array(1, 2, 3, null, "", 0);

$array_new = array();

foreach($array as $value){

if(!is_null($value) && $value !== "") {

array_push($array_new, $value);

}

}

4、使用array_reduce

在操作中经常需要使用array_reduce函数去掉数组中null值,因为数组中的空元素不会参与到压缩过程中,而有效值则以最终压缩的结果生成新的数组。

示例:

```php

$array = array(1, 2, 3, null, "", 0);

$new_array = array_reduce($array, function($result,$item){

if ($item !== null) {

$result[] = $item;

}

return $result;

}, array());

按照以上方法可以很方便地过滤掉php数组中的null值,确保数据的准确性和正确性。

在php开发过程中, 会有null值出现, 对于数组去掉null值也是非常重要的一个过程,没有去掉null值,php 程序会面临一定的安全隐患和一些不可预知的错误, 对了解php 数组怎么去掉null, 应当充分清楚一些知识点, 下面就来为大家介绍几种数组去掉null值的常见方法。

首先, 可使用array_filter函数去掉null值, 该函数的原型是array_filter(array, callback), array 是被过滤的数组, callback是回调函数,如不传入回调函数,会去掉null、空字符串及 FALSE。可使用array_filter这个函数去掉null值:

$arr = array('a'=>'a', 'b'=>NULL, 'c'=>NULL, 'd'=>'d');

$new_arr = array_filter($arr);

另外, 也可使用array_diff和unset来去掉null值:

$arr = array('a'=>'a', 'b'=>NULL, 'c'=>NULL, 'd'=>'d');

array_diff($arr , array('b'=>NULL,'c'=>NULL));

//返回$arr 中与另一数组不同的部分

//结果 Array ( [a] => a [d] => d )

unset($arr['b'],$arr['c']);

//直接unset null值

最后, 也可以使用array_map函数去掉null值, 函数的原型为array_map ( callable $callback , array $arr1 [, array $... ] ), 其中callback是回调函数,这里可使用判断null值的回调函数:

$arr = array('a'=>'a', 'b'=>NULL, 'c'=>NULL, 'd'=>'d');

function removeNull($val) {

if ($val === NULL)

return false;

return true;

}

$new_arr = array_map("removeNull", $arr);

总之, php 数组去掉null值方法有很多种, 选择合适的方法可以有效的提高程序的性能, 提高程序的可扩展性, 从而让程序更加完美的实现自己的目标。