php怎么把数组去空

不及物动词 其他 172

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,可以通过使用array_filter()函数来将数组中的空值去掉。array_filter()函数可以根据自定义规则过滤数组中的元素,只保留满足条件的元素。

    具体使用方法如下:

    “`php
    // 原始数组
    $array = [‘apple’, ”, ‘orange’, ”, ‘banana’];

    // 使用array_filter()函数过滤数组中的空值
    $newArray = array_filter($array);

    // 输出过滤后的数组
    print_r($newArray);
    “`

    以上代码执行后,将输出如下新数组:

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

    如此,原始数组中的空值被成功去掉,只剩下非空元素。需要注意的是,array_filter()函数默认会把数组中的false、null、0和空字符串视为空值,因此这些元素也会被过滤掉。

    另外,如果想保留原数组的键名,可以使用array_filter()函数的第二个参数来指定保留键名。具体示例如下:

    “`php
    // 原始数组
    $array = [‘apple’, ”, ‘orange’, ”, ‘banana’];

    // 使用array_filter()函数过滤数组中的空值,保留键名
    $newArray = array_filter($array, function($value) {
    return $value !== ”;
    }, ARRAY_FILTER_USE_BOTH);

    // 输出过滤后的数组
    print_r($newArray);
    “`

    以上代码执行后,输出结果与之前相同。这里使用了匿名函数来进行自定义规则的判断,只保留非空元素。同时,第三个参数ARRAY_FILTER_USE_BOTH表示保留键名。

    通过使用array_filter()函数,我们可以方便地将数组中的空值去掉,得到一个经过过滤的新数组。这个方法非常简洁高效,适用于各种情况。希望以上解答对您有帮助!

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,可以使用array_filter函数来去除数组中的空值。array_filter函数会遍历数组中的每个元素,并按照给定的回调函数进行过滤。如果回调函数返回true,则保留该元素,如果返回false,则会将该元素去除。

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

    “`php
    $array = array(“apple”, “”, “banana”, null, “orange”, “peach”);

    $filteredArray = array_filter($array);
    print_r($filteredArray);
    “`

    输出结果:
    “`
    Array
    (
    [0] => apple
    [2] => banana
    [4] => orange
    [5] => peach
    )
    “`

    在上面的示例中,输入数组$array包含了一些空字符串和null值。通过使用array_filter函数,我们将这些空值去除,返回一个新的数组$filteredArray,只包含非空值。

    array_filter函数还可以结合匿名函数来实现更复杂的过滤逻辑。下面是一个示例,通过匿名函数过滤出数组中的奇数值:

    “`php
    $array = array(1, 2, 3, 4, 5, 6);

    $filteredArray = array_filter($array, function($value) {
    return $value % 2 == 1;
    });

    print_r($filteredArray);
    “`

    输出结果:
    “`
    Array
    (
    [0] => 1
    [2] => 3
    [4] => 5
    )
    “`

    在上面的示例中,通过使用匿名函数,array_filter函数将原数组中的偶数值去除,只保留奇数值。

    除了array_filter函数,还可以使用循环结构(如foreach)来遍历数组,并根据特定条件进行过滤。以下是另一种示例,通过循环遍历数组,去除空值:
    “`php
    $array = array(“apple”, “”, “banana”, null, “orange”, “peach”);
    $filteredArray = array();

    foreach ($array as $value) {
    if (!empty($value)) {
    $filteredArray[] = $value;
    }
    }

    print_r($filteredArray);
    “`

    输出结果与前面的示例相同。

    除了empty函数,还可以使用is_null函数、isset函数等来判断数组元素是否为空。根据实际需求选择合适的判断方式。

    综上所述,我们可以使用array_filter函数或循环结构来去除数组中的空值。根据具体情况选择合适的方法,并根据需要结合其他判断函数来进行过滤。

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

    在PHP中,可以使用以下方法将数组中的空值去掉:

    1. 使用array_filter()函数:array_filter()函数用于过滤数组中的元素,并返回过滤后的数组。可以使用回调函数来判断数组中的元素是否为空。

    “`php

    “`

    输出结果:

    “`
    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [6] => 5
    [8] => 6
    )
    “`

    2. 使用foreach循环遍历数组:使用foreach循环遍历数组,判断每个元素是否为空,如果不为空则将其添加到新的数组中。

    “`php

    “`

    输出结果:

    “`
    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [6] => 5
    [8] => 6
    )
    “`

    3. 使用array_values()函数重置数组的键:使用array_values()函数可以重置数组的索引,从0开始递增,将索引重新排列。

    “`php

    “`

    输出结果:

    “`
    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    )
    “`

    使用上述方法可以轻松地将数组中的空值去掉,得到一个新的不含空值的数组。

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

400-800-1024

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

分享本页
返回顶部