如何在PHP中过滤掉数组中的空值并重新索引数组

12 浏览
0 Comments

如何在PHP中过滤掉数组中的空值并重新索引数组

我使用print_r($_POST["prod_sizes"]);来打印值。

print_r($_POST["prod_sizes"]);

所以我得到的输出是dsf,,thisnajndk,faklsf,klam,flkamlkd,mklmd,l,,adad

之后我使用了这段代码:

$sizes = strip_tags(preg_replace('/[^a-z0-9,]/i', '', $_POST["prod_sizes"]));
$var = explode(',', $sizes);
print_r($var);

我得到的输出是

Array
(
  [0] => dsf
  [1] => 
  [2] => thisnajndk
  [3] => faklsf
  [4] => klam
  [5] => flkamlkd
  [6] => mklmd
  [7] => l
  [8] => 
  [9] => adad
)

从上面的输出可以看到数组中有一些空值。如何去除这些空值?

0
0 Comments

在PHP中,有时候我们需要从数组中过滤掉空值,并重新对数组进行重新索引。下面是一个解决这个问题的方法:

首先,我们有一个包含空值的数组:

# 数组
$array = array('tomato', '', 'apple', 'melon', 'cherry', '', '', 'banana');

上述数组中包含了一些空字符串。我们希望将这些空值从数组中过滤掉,并重新对数组进行索引。

为了实现这个目标,我们可以使用array_filter()函数和array_values()函数的结合。下面是具体的操作:

$array = array_values(array_filter($array));

通过以上操作,我们得到了过滤掉空值并重新索引的数组。

解释:

array_values()函数会返回数组中的所有值,并重新对数组进行数值索引。

array_filter()函数可以根据用户自定义的函数(UDF)来过滤数组的元素。如果没有提供自定义函数,那么会删除数组中所有值为FALSE的元素,包括空字符串。

通过以上方法,我们成功地过滤掉了数组中的空值,并对数组进行了重新索引。最终得到的数组只包含非空值,并按照数值索引进行排列。

以下是最终得到的数组:

Array
(
    [0] => tomato
    [1] => apple
    [2] => melon
    [3] => cherry
    [4] => banana
)

这种方法非常简洁有效,能够快速地过滤掉数组中的空值并重新索引。在处理数据时,这个方法非常实用。

0
0 Comments

在PHP中,有时我们需要从数组中过滤掉空值并重新索引数组。下面是一个解决这个问题的方法。

首先,替换代码中的这一行:$var = explode(',', $sizes);,并添加以下代码:

$var = array_filter(explode(',', $sizes));
$reindexed = array();
foreach ($var as $row)
    {
        if ($row !== null)
           $reindexed[] = $row;
    }
print_r($reindexed);
exit();

上述代码的作用如下:

1. 使用array_filter()函数从$sizes字符串中创建一个数组$var。这个函数会过滤掉数组中的空值。

2. 创建一个新的数组$reindexed来存储重新索引的数组值。

3. 使用循环遍历$var数组中的每个元素,如果元素不为null,则将其添加到$reindexed数组中。

4. 使用print_r()函数输出$reindexed数组的值。

5. 使用exit()函数停止程序的执行。

这种方法的原因是,当我们从一个字符串中使用explode()函数创建一个数组时,数组中的元素可能包含空值。为了去除这些空值并重新索引数组,我们使用了array_filter()函数和循环遍历的方式。

这个方法的解决方法是使用array_filter()函数过滤掉数组中的空值,并使用循环遍历来重新索引数组。这样就可以得到一个不包含空值的重新索引的数组。

需要注意的是,尽管这个方法可以解决问题,但PHP本身已经提供了内置的功能来实现相同的操作。因此,这只是一种可选的解决方法,根据个人的逻辑和需求选择使用。

0
0 Comments

问题的出现原因:在PHP中,当我们有一个数组,并且想要过滤掉其中的空值,并重新索引数组时,需要使用特定的函数来实现。

解决方法:PHP内置的array_filter()函数可以帮助我们过滤掉数组中的空值。使用该函数的方式是:$sizes = array_filter($sizes)。需要注意的是,任何被判定为false的值也会被过滤掉。因此,如果0和null是有效值,那么我们需要编写自己的回调函数来进行过滤。

如果我们还希望重新索引数组的键,可以使用array_values()函数对结果进行处理。即:$sizes = array_values(array_filter($sizes))。

如果我们只想重新索引数组,可以直接使用array_values()函数对结果进行处理。

我们可以通过使用array_filter()函数来过滤掉数组中的空值,同时使用array_values()函数来重新索引数组。

0