php数组怎么去掉空值

worktile 其他 129

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要去掉PHP数组中的空值,可以使用array_filter函数。该函数会根据指定的回调函数,对数组中的每个元素进行筛选,只返回满足条件的元素。

    以下是一个示例代码:

    “`php

    “`

    代码中,使用了匿名函数作为array_filter函数的回调函数。在该回调函数中,判断元素的值是否为空,如果不为空则返回true,否则返回false。

    通过运行上述代码,输出结果为:

    “`
    Array
    (
    [0] => apple
    [2] => banana
    [4] => orange
    [5] => 0
    [6] =>
    )
    “`

    可以看到,空值已经被成功去掉,只返回了非空的元素。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要去掉一个数组中的空值,可以通过以下方法实现:

    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年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在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年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部