php数组怎么去掉空值
-
要去掉PHP数组中的空值,可以使用array_filter函数。该函数会根据指定的回调函数,对数组中的每个元素进行筛选,只返回满足条件的元素。
以下是一个示例代码:
“`php
“`代码中,使用了匿名函数作为array_filter函数的回调函数。在该回调函数中,判断元素的值是否为空,如果不为空则返回true,否则返回false。
通过运行上述代码,输出结果为:
“`
Array
(
[0] => apple
[2] => banana
[4] => orange
[5] => 0
[6] =>
)
“`可以看到,空值已经被成功去掉,只返回了非空的元素。
2年前 -
要去掉一个数组中的空值,可以通过以下方法实现:
1. 使用array_filter()函数。该函数可以接受一个数组作为参数,并返回一个只包含非空值的新数组。示例如下:
“`
$array = array(‘a’, ‘b’, ”, ‘c’, ”, ‘d’);$new_array = array_filter($array);
print_r($new_array);
“`输出结果为:
“`
Array
(
[0] => a
[1] => b
[3] => c
[5] => d
)
“`2. 使用foreach循环遍历数组,将非空值添加到一个新数组中。示例代码如下:
“`
$array = array(‘a’, ‘b’, ”, ‘c’, ”, ‘d’);$new_array = array();
foreach ($array as $value) {
if ($value != ”) {
$new_array[] = $value;
}
}print_r($new_array);
“`输出结果为:
“`
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
“`3. 使用array_diff()函数。该函数可以接受多个数组作为参数,并返回第一个数组中去除了其他数组中的值的新数组。示例代码如下:
“`
$array = array(‘a’, ‘b’, ”, ‘c’, ”, ‘d’);$new_array = array_diff($array, array(”));
print_r($new_array);
“`输出结果为:
“`
Array
(
[0] => a
[1] => b
[3] => c
[5] => d
)
“`4. 使用array_values()函数。该函数可以重新索引数组,使数组的键值从0开始连续递增。结合array_filter()函数使用,可以实现去除空值的功能。示例代码如下:
“`
$array = array(‘a’, ‘b’, ”, ‘c’, ”, ‘d’);$new_array = array_values(array_filter($array));
print_r($new_array);
“`输出结果为:
“`
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
“`5. 使用unset()函数。通过遍历数组,在循环体中使用unset()函数删除数组中的空值元素。示例代码如下:
“`
$array = array(‘a’, ‘b’, ”, ‘c’, ”, ‘d’);foreach ($array as $key => $value) {
if ($value == ”) {
unset($array[$key]);
}
}print_r($array);
“`输出结果为:
“`
Array
(
[0] => a
[1] => b
[3] => c
[5] => d
)
“`以上是几种常用的方法,可以根据具体情况选择适合的方法去掉数组中的空值。
2年前 -
在PHP中,我们可以使用以下几种方法来去掉数组中的空值:
1. 使用array_filter()函数:array_filter()函数可以根据指定的回调函数对数组进行过滤,并返回过滤后的结果。我们可以自定义一个回调函数,在该函数中判断数组元素是否为空值,然后返回true或false来进行过滤。示例代码如下:
“`php
$array = array(“apple”, “”, “banana”, null, “cherry”);
$result = array_filter($array, function($value){
return !empty($value);
});
print_r($result);
“`输出结果为:
“`
Array
(
[0] => apple
[2] => banana
[4] => cherry
)
“`2. 使用foreach循环移除空值:我们可以使用foreach循环遍历数组,并使用unset()函数来移除空值。示例代码如下:
“`php
$array = array(“apple”, “”, “banana”, null, “cherry”);
foreach($array as $key => $value){
if(empty($value)){
unset($array[$key]);
}
}
print_r($array);
“`输出结果为:
“`
Array
(
[0] => apple
[2] => banana
[4] => cherry
)
“`3. 使用array_diff()函数:array_diff()函数可以对比多个数组的差异,并返回差异结果。我们可以创建一个只含有空值的数组,然后使用array_diff()函数将原数组与空值数组进行对比,得到去掉空值后的结果。示例代码如下:
“`php
$array = array(“apple”, “”, “banana”, null, “cherry”);
$emptyArray = array(“”, null);
$result = array_diff($array, $emptyArray);
print_r($result);
“`输出结果为:
“`
Array
(
[0] => apple
[2] => banana
[4] => cherry
)
“`以上就是几种常用的去掉PHP数组中空值的方法,你可以根据实际情况选择其中一种或多种方法来处理你的数组。
2年前