php怎么去除数组空值

worktile 其他 283

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

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

    在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年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

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

400-800-1024

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

分享本页
返回顶部