php怎么去除数组的空值

fiy 其他 119

回复

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

    要去除PHP数组中的空值,可以使用array_filter()函数来实现。array_filter()函数将过滤数组中的值,只保留其中的非空值,并将它们重新组成一个新的数组。

    下面是使用array_filter()函数去除数组中空值的示例:

    “`php

    “`

    输出结果:

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

    在上面的示例中,$myArray是包含了一些空值的数组。通过使用array_filter()函数,我们可以将其中的空值过滤掉,得到一个只包含非空值的新数组$filteredArray。

    需要注意的是,array_filter()函数默认会移除以下值:空字符串、NULL、FALSE以及数字0。如果你想自定义移除规则,你可以传递一个自定义的回调函数作为array_filter()函数的第二个参数。这个回调函数应该返回一个布尔值,来确定一个值是否应该被保留。

    例如,如果你想去除数组中的数字0但保留其他空值,可以这样写:

    “`php

    “`

    输出结果:

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

    在上面的示例中,我们定义了一个名为removeZeros()的回调函数,并将其作为array_filter()函数的第二个参数。这个回调函数负责判断一个值是否为0,在这种情况下将其移除,其他情况则保留。

    总结一下,要去除PHP数组中的空值,可以使用array_filter()函数,并根据需要传递自定义的回调函数来定义可以移除的值。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,可以使用array_filter()函数去除数组的空值。array_filter()函数会根据指定的回调函数对数组的每个元素进行检查,将返回为true的元素保留下来,并返回一个新的数组。以下是如何使用array_filter()函数去除数组的空值的示例代码:

    1. 使用默认回调函数去除空值:

    “`php
    $array = array(“apple”, “”, “banana”, null, “cherry”, 0, false, “grape”);
    $result = array_filter($array);
    print_r($result);
    “`

    输出结果:
    “`
    Array
    (
    [0] => apple
    [2] => banana
    [4] => cherry
    [6] => grape
    )
    “`

    2. 使用自定义回调函数去除空值:

    “`php
    $array = array(“apple”, “”, “banana”, null, “cherry”, 0, false, “grape”);
    $result = array_filter($array, function($value) {
    return !empty($value);
    });
    print_r($result);
    “`

    输出结果:
    “`
    Array
    (
    [0] => apple
    [2] => banana
    [4] => cherry
    [6] => grape
    )
    “`

    3. 只去除空字符串的方法:

    “`php
    $array = array(“apple”, “”, “banana”, null, “cherry”, 0, false, “grape”);
    $result = array_filter($array, ‘strlen’);
    print_r($result);
    “`

    输出结果:
    “`
    Array
    (
    [0] => apple
    [2] => banana
    [4] => cherry
    [6] => grape
    )
    “`

    4. 使用array_values()函数重新索引数组:

    “`php
    $array = array(“apple”, “”, “banana”, null, “cherry”, 0, false, “grape”);
    $result = array_values(array_filter($array));
    print_r($result);
    “`

    输出结果:
    “`
    Array
    (
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => grape
    )
    “`

    5. 使用foreach循环去除数组的空值:

    “`php
    $array = array(“apple”, “”, “banana”, null, “cherry”, 0, false, “grape”);
    $result = array();
    foreach ($array as $value) {
    if (!empty($value)) {
    $result[] = $value;
    }
    }
    print_r($result);
    “`

    输出结果:
    “`
    Array
    (
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => grape
    )
    “`

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

    在PHP中,可以使用array_filter()函数来去除数组中的空值。array_filter()函数会遍历数组中的每个元素,如果元素为空,则该元素会被删除。

    下面是去除数组中的空值的步骤:

    1. 准备一个包含空值的数组。可以使用以下代码创建一个包含空值的数组:

    “`
    $arr = array(“hello”, “”, “world”, null, “php”, ” “);
    “`

    2. 使用array_filter()函数去除数组中的空值。可以使用以下代码将array_filter()函数应用到数组上:

    “`
    $result = array_filter($arr);
    “`

    3. 输出去除空值后的数组。使用以下代码打印出去除空值后的数组:

    “`
    print_r($result);
    “`

    完整的示例代码如下:

    “`php
    $arr = array(“hello”, “”, “world”, null, “php”, ” “);
    $result = array_filter($arr);
    print_r($result);
    “`

    运行上述代码将输出如下结果:

    “`
    Array
    (
    [0] => hello
    [2] => world
    [4] => php
    )
    “`

    可以看到,数组中的空值已经被成功去除。

    除了使用array_filter()函数之外,还有其他方法可以去除数组中的空值,比如使用foreach循环遍历数组,并使用unset()函数删除空值。然而,array_filter()函数是最简单和最方便的方法,可以更快速地完成任务。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部