这个问题解决了如何从php数组中删除null或空元素。 有几种方法可以实现这一目标,从简单的循环到使用内置功能的更优雅的方法。 让我们探索一些选项:
方法1:使用array_filter()
array_filter()
>
<code class="php">$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = array_filter($array, function ($value) { return !is_null($value) && $value !== ""; }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [5] => world [7] => 2 )</code>
!is_null($value)
>此代码利用lambda函数来检查该元素是否既不为null也不为空字符串。 $value !== ""
零件明确检查空值,而0
>检查空字符串。 请注意,false
和0
被视为有效元素,并将保留。如果您还需要删除false
和
foreach
looparray_filter()
foreach
<code class="php">$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = []; foreach ($array as $value) { if (!is_null($value) && $value !== "") { $filteredArray[] = $value; } } print_r($filteredArray); // Output: Array ( [0] => 1 [1] => hello [2] => world [3] => 2 )</code>
> loop提供了更多的粒度控制。只有它们不是空的,也不是空字符串。
>方法3:删除0和false and> 0
false
array_filter()
>if
foreach
>
<code class="php">$array = [1, 0, "hello", null, "", "world", false, 2, null]; $filteredArray = array_filter($array, function ($value) { return !is_null($value) && $value !== "" && $value !== 0 && $value !== false; }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [5] => world [7] => 2 )</code>>
> array_filter()
>以及空和空字符串,以及您需要在回调功能中调整
$array = [1, null, "hello", null, "world", null];
$filteredArray = array_filter($array, function ($value) {
return !is_null($value);
});
print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [4] => world )
foreach
的条件中的条件。从php数组array_filter()
<code class="php">$array = [1, "", "hello", null, "world", null, ""]; $filteredArray = array_filter($array, function ($value) { return !is_null($value) && $value !== ""; }); print_r($filteredArray); // Output: Array ( [0] => 1 [2] => hello [4] => world )</code>
array_filter()
>虽然没有一个内置函数可以直接同时删除NULL和空字符串元素,但array_filter()
是最接近且最有效的内置解决方案。 它提供了使用回调函数来定义过滤标准的灵活性,从而使您可以根据您的特定需求删除空,空字符串或任何其他不希望的元素。 使用foreach
循环是一种替代方法,但效率较低。
以上是PHP如何去除数组中null或空的元素的详细内容。更多信息请关注PHP中文网其他相关文章!