php数组多了一个空值 怎么去掉

fiy 其他 85

回复

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

    在PHP中,可以通过使用array_filter()函数来过滤数组中的空值。该函数会返回一个新的数组,其中只包含原数组中不为空的值。

    以下是示例代码:

    “`php

    “`

    上述代码的输出结果将会是:

    “`
    Array
    (
    [0] => a
    [2] => b
    [4] => c
    )
    “`

    如上所示,通过使用array_filter()函数,空字符串和null值都被过滤掉了,只剩下了非空的值。

    希望以上内容能够帮到你!如果还有其他问题,请随时提问。

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

    在PHP中,我们可以使用多种方法来去掉数组中的空值。下面是五种常见的方法:

    1. 使用array_filter函数去除空值:
    “`php
    $array = array(“apple”, “”, “banana”, “”, “cherry”, “”);
    $array = array_filter($array);
    “`
    上面的代码会去除数组中的空值,返回一个新的数组。结果为:
    “`
    array(“apple”, “banana”, “cherry”)
    “`

    2. 使用foreach循环遍历数组,使用unset函数去除空值:
    “`php
    $array = array(“apple”, “”, “banana”, “”, “cherry”, “”);
    foreach($array as $key=>$value){
    if($value==””){
    unset($array[$key]);
    }
    }
    “`
    上面的代码会直接在原数组上去除空值。结果为:
    “`
    array(“apple”, “banana”, “cherry”)
    “`

    3. 使用array_diff函数去除空值:
    “`php
    $array = array(“apple”, “”, “banana”, “”, “cherry”, “”);
    $nonempty_array = array_diff($array, array(“”));
    “`
    上面的代码会去除数组中的空值,返回一个新的数组。结果为:
    “`
    array(“apple”, “banana”, “cherry”)
    “`

    4. 使用array_map函数去除空值:
    “`php
    $array = array(“apple”, “”, “banana”, “”, “cherry”, “”);
    $array = array_map(“trim”, $array);
    $array = array_filter($array);
    “`
    上面的代码首先使用array_map函数对数组中的每个元素应用trim函数去除前后的空格,然后使用array_filter函数去除空值,返回一个新的数组。结果为:
    “`
    array(“apple”, “banana”, “cherry”)
    “`

    5. 使用array_values函数重新索引数组:
    “`php
    $array = array(“apple”, “”, “banana”, “”, “cherry”, “”);
    $array = array_values(array_filter($array));
    “`
    上面代码首先使用array_filter函数去除空值,然后使用array_values函数重新索引数组,返回一个新的数组。结果为:
    “`
    array(“apple”, “banana”, “cherry”)
    “`

    以上是几种去除PHP数组中空值的常见方法,根据不同的场景选择适合的方法即可。

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

    在PHP中,可以使用array_filter()函数去掉数组中的空值。

    array_filter()函数的作用是从数组中删除数组元素的值为false的值。默认情况下,它会删除以下值:

    – false(布尔值为false)
    – 0(数字0)
    – ”或””(空字符串)
    – null
    – array()(空数组)

    这意味着,使用array_filter()函数时,它会保留数字0和字符串0,所以如果你的数组中存在数字0或字符串0,它们不会被删除。如果你希望删除数字0或字符串0,你可以使用一个自定义的过滤函数。

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

    “`php

    “`

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

    通过以上代码,你可以看到经过array_filter()函数处理后,原始数组中的空值被去除了。

    如果你的数组中包含了数字0或字符串0,并且你希望将它们也删除掉,你可以使用自定义的过滤函数。下面是一个自定义的过滤函数的示例代码:

    “`php

    “`

    输出结果:

    “`
    Array
    (
    [0] => apple
    [1] => banana
    [3] => orange
    [5] => grape
    )
    “`

    通过以上代码,你可以看到自定义过滤函数的使用方式。该函数用于判断数组元素的值是否为空,包括空字符串、null、0和”0″,如果不为空,则保留该值;如果为空,则删除该值。

    总结来说,使用array_filter()函数可以方便地去掉PHP数组中的空值,如空字符串和null。如果需要删除数字0和字符串0,可以使用自定义的过滤函数。

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

400-800-1024

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

分享本页
返回顶部