php怎么去除数组空值
-
在PHP中,可以使用array_filter函数去除数组中的空值。此函数的使用方法如下:
“`php
$originalArray = array(“apple”, “”, “banana”, ” “, “cherries”, null);
$filteredArray = array_filter($originalArray);print_r($filteredArray);
“`输出结果会是:
“`
Array
(
[0] => apple
[2] => banana
[4] => cherries
)
“`在这个例子中,原始数组包含了一些空值,比如空字符串、空格和null值。调用array_filter函数后,返回一个去除了空值的新数组。
注意:默认情况下,array_filter函数会去除值为0的元素。如果希望保留值为0的元素,可以传递一个匿名函数作为array_filter的第二个参数,该函数会对每个元素进行自定义的过滤规则。例如,如下代码可以保留值为0的元素:
“`php
$originalArray = array(0, 1, 2, “”, “apple”);$filteredArray = array_filter($originalArray, function ($element) {
return $element !== null;
});print_r($filteredArray);
“`输出结果为:
“`
Array
(
[0] => 0
[1] => 1
[2] => 2
[4] => apple
)
“`上述代码中,使用了一个匿名函数作为array_filter的第二个参数,该函数返回元素不为null的元素。这样就保留了值为0的元素。
2年前 -
在PHP中,可以使用array_filter函数来去除数组中的空值。array_filter函数的作用是过滤数组中的元素,根据指定的回调函数对数组中的每个元素进行检测,如果回调函数返回true,则保留该元素,否则过滤掉。
下面是使用array_filter函数去除数组空值的几种方法:
1. 去除数组中的空字符串:
“`php
$array = [“apple”, “”, “banana”, “”, “orange”];
$result = array_filter($array, function($value) {
return $value !== “”;
});
print_r($result);
“`输出结果:Array ( [0] => apple [2] => banana [4] => orange )
2. 去除数组中的null值:
“`php
$array = [“apple”, null, “banana”, null, “orange”];
$result = array_filter($array, function($value) {
return $value !== null;
});
print_r($result);
“`输出结果:Array ( [0] => apple [2] => banana [4] => orange )
3. 去除数组中的false值:
“`php
$array = [“apple”, false, “banana”, false, “orange”];
$result = array_filter($array, function($value) {
return $value !== false;
});
print_r($result);
“`输出结果:Array ( [0] => apple [2] => banana [4] => orange )
4. 去除数组中的0值:
“`php
$array = [1, 0, 3, 0, 5];
$result = array_filter($array, function($value) {
return $value !== 0;
});
print_r($result);
“`输出结果:Array ( [0] => 1 [2] => 3 [4] => 5 )
5. 使用array_values函数重新索引数组:
“`php
$array = [“apple”, “”, “banana”, “”, “orange”];
$result = array_filter($array, function($value) {
return $value !== “”;
});
$result = array_values($result);
print_r($result);
“`输出结果:Array ( [0] => apple [1] => banana [2] => orange )
以上就是在PHP中去除数组空值的几种方法,根据具体的需求选择合适的方法即可。
2年前 -
可以使用array_filter()函数来去除数组中的空值。array_filter()函数接受一个数组作为参数,并根据指定的回调函数的返回值来决定是否保留数组中的元素。回调函数必须返回一个bool值,当返回值为true时,对应的数组元素将保留在结果数组中,当返回值为false时,对应的数组元素将被过滤掉。
下面是一个演示如何使用array_filter()函数去除数组中的空值的例子:
“`php
$array = array(“apple”, “”, “banana”, “”, “cherry”);// 使用匿名函数作为回调函数
$result = array_filter($array, function($value) {
return $value !== “”;
});print_r($result);
“`在上面的例子中,使用了一个匿名函数作为回调函数。回调函数的参数 `$value` 代表数组中的每个元素的值。在回调函数中,判断当前元素的值是否为空字符串,如果不为空,则返回true,否则返回false。最终,array_filter()函数会返回一个新的数组,其中不包含空值。
输出结果为:
“`
Array
(
[0] => apple
[2] => banana
[4] => cherry
)
“`可以看到,空值被成功去除,只保留了非空值的元素。
除了使用匿名函数,也可以使用其他函数作为回调函数来判断数组元素是否为空值。例如,使用内置的empty()函数来判断数组元素是否为空值:
“`php
$array = array(“apple”, “”, “banana”, “”, “cherry”);$result = array_filter($array, ’empty’);
print_r($result);
“`该例子中,回调函数为内置的empty()函数。empty()函数会判断给定的值是否为空值,如果为空,则返回true,否则返回false。因此,将empty()函数作为回调函数传递给array_filter()函数,可以实现同样的效果。
输出结果与上例相同:
“`
Array
(
[0] => apple
[2] => banana
[4] => cherry
)
“`2年前