如何在 PHP 中刪除空陣列元素
Minahil Noor
2023年1月30日
在本文中,我們將介紹一些方法來刪除 PHP 中的空陣列元素。
- 使用
array_filter()
函式 - 使用
array_diff()
函式 - 使用
unset()
函式
使用 array_filter()
函式刪除 PHP 中的空陣列元素
內建函式 array_filter()
刪除了陣列中的所有空元素,比如:0
,false
和 null
值。此函式使用回撥函式來過濾陣列值。如果未指定回撥函式,它將刪除空元素,0
,false
和 null
值。
使用此函式的正確語法如下
array_filter($arrayName, $callbackFunction, $callbackParameter)
這裡的 $arrayName
是唯一的必需引數。引數 $callbackFunction
是為陣列上的操作指定的回撥函式。引數 $callbackParameter
告訴傳遞給回撥函式的引數。
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
0,
"Hibiscus",
"",
"Tulip",
null,
"Sun Flower",
"Daffodil",
"Daisy");
$flowers = array_filter($flowers);
echo "The array is:\n";
print_r($flowers);
?>
我們沒有指定任何回撥函式,因此返回的陣列沒有空元素,零和空值。
輸出:
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[6] => Tulip
[8] => Sun Flower
[10] => Daffodil
[11] => Daisy
)
使用 array_diff()
函式刪除 PHP 中的空陣列元素
內建函式 array_diff()
用於查詢兩個或多個陣列之間的差異。它可以用來從陣列中刪除空元素。它不會重新索引陣列。使用此函式的正確語法如下
array_diff($array1, $array2, $array3, ... , $arrayN);
它需要 N 個引數(陣列)。它將第一個陣列與所有其他陣列進行比較。它返回一個陣列,其中包含第一個陣列中所有其他陣列中不存在的元素。
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
0,
"Hibiscus",
"",
"Tulip",
null,
"Sun Flower",
"Daffodil",
"Daisy");
$flowers = array_diff($flowers, array("",0,null));
echo "The array is:\n";
print_r($flowers);
?>
在這裡,我們將陣列 array
與包含空字串,0 和 null 值的陣列進行了比較。所以返回的陣列沒有空元素。
輸出:
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[6] => Tulip
[8] => Sun Flower
[10] => Daffodil
[11] => Daisy
)
使用 unset()
函式刪除 PHP 中的空陣列元素
unset()
函式刪除儲存在變數中的值。我們可以使用它來移除陣列中的空元素。使用此函式的正確語法如下
unset($variableName);
它只接受一個引數 $variableName
。$variableName
是我們要刪除其值的變數。
<?php
//Declare the array
$flowers = array("Rose","Lili","","Jasmine","Hibiscus","Tulip","Sun Flower","","Daffodil","Daisy");
foreach($flowers as $key => $link)
{
if($link === '')
{
unset($flowers[$key]);
}
}
echo "The array is:\n";
print_r($flowers);
?>
在這裡,我們使用了一個 foreach
迴圈來查詢空陣列元素。如果陣列元素為空,則將其索引以及陣列名稱作為引數傳遞給 unset()
函式。
輸出:
The array is:
Array
(
[0] => Rose
[1] => Lili
[3] => Jasmine
[4] => Hibiscus
[5] => Tulip
[6] => Sun Flower
[8] => Daffodil
[9] => Daisy
)