這個問題解決瞭如何從php數組中刪除null或空元素。 有幾種方法可以實現這一目標,從簡單的循環到使用內置功能的更優雅的方法。 讓我們探索一些選項:
方法1:使用array_filter()
array_filter()
>
$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 )
!is_null($value)
>此代碼利用lambda函數來檢查該元素是否既不為null也不為空字符串。 $value !== ""
零件明確檢查空值,而0
>檢查空字符串。 請注意,false
和0
被視為有效元素,並將保留。如果您還需要刪除false
和
foreach
looparray_filter()
foreach
$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 )
<> <>> <> <> <> <> <> <> <> loop提供了更多的粒度控制。只有它們不是空的,也不是空字符串。
>方法3:刪除0和false and> 0
false
array_filter()
>if
foreach
>
$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 )
> 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()
$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 )
array_filter()
>雖然沒有一個內置函數可以直接同時刪除NULL和空字符串元素,但array_filter()
是最接近且最有效的內置解決方案。 它提供了使用回調函數來定義過濾標準的靈活性,從而使您可以根據您的特定需求刪除空,空字符串或任何其他不希望的元素。 使用foreach
循環是一種替代方法,但效率較低。
以上是PHP如何去除數組中null或空的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!