[英]How to Check if Multi-Dimensional Associative Array is Empty
我有一個數組如下:
$list_array = array();
$list_array[] = array (
'id' => 1,
'name' => 'Sean',
'codename' => 'Maverick'
);
$list_array[] = array (
'id' => 2,
'name' => 'Matt',
'codename' => 'Diesel'
);
$list_array[] = array (
'id' => 3,
'name' => 'Bonnie',
'codename' => 'Princess'
);
我試圖弄清楚如何檢查它是否為空。 我在該網站上查看並嘗試了幾項操作,但無法正常工作。 這是我嘗試過的東西。
Attempt 1:
if (empty($list_array)
echo "Array is empty";
Attempt 2:
$arr_empty = true;
$arr_length = count($list_array);
echo "Length: " . $arr_length . "<br>";
for ($z=1; $z<=$arr_length; $z++)
{
$arr_length2 = count($list_array[$z]);
echo $z . " Length2: " . $arr_length2 . "<br>";
if (empty($list_array[$z]))
echo $z . " Is Empty<br>";
}
我覺得我想念這里的人了。
有一些PHP函數可以完成不同的工作:
isset
—確定是否設置了變量並且不為NULL
例:
if(isset($list_array)){//do something}
$ list_array設置為非NULL的值, if(isset($list_array)){//do something}
將執行某些操作。
請參閱: http : //uk3.php.net/manual/en/function.isset.php
empty
—確定變量是否為空。 如果變量或數組為空字符串,false,array(),NULL,0或未設置的變量,則此函數返回true
。 我更喜歡使用empty
函數。
例:
if(!empty($list_array)){
//do something with array here, such as a foreach or while loop.
}
請參閱: http : //uk3.php.net/empty
is_null
—通過返回true或false來標識變量是否為NULL。 僅當變量為null時,它才返回true。 is_null()
與isset()
相反,不同之處在於isset()
也可以應用於未知變量,而is_null()
僅可用於聲明的變量。
示例: if(is_null($var)){ //do something }
請參閱: http : //uk3.php.net/manual/en/function.is-null.php
讓我們堅持empty
:
if(empty($list_array)){ $msg = "Array is empty!"; }
if(!isset($msg)){echo $msg;}
空應該工作:
if (empty($list_array))
echo "Array is empty";
else
echo "Array is not empty";
您的循環不起作用,因為PHP數組是從零開始的,您應該從零開始並在$z < $arr_length
繼續
我在您的代碼中發現了兩個錯誤:
array(1=>..., 2=>..., 3=>...)
,雖然實際上是array(0=>..., 1=>..., 2=>...)
因此,這是您的代碼,已修復:
$list_array = array();
$list_array[] = array (
'id' => 1,
'name' => 'Sean',
'codename' => 'Maverick'
);
$list_array[] = array (
'id' => 2,
'name' => 'Matt',
'codename' => 'Diesel'
);
$list_array[] = array (
'id' => 3,
'name' => 'Bonnie',
'codename' => 'Princess'
);
//Attempt 1:
if (empty($list_array))
echo "Array is empty";
//Attempt 2:
$arr_empty = true;
$arr_length = count($list_array);
echo "Length: " . $arr_length . "<br>";
for ($z=0; $z<$arr_length; $z++)
{
$arr_length2 = count($list_array[$z]);
echo $z . " Length2: " . $arr_length2 . "<br>";
if (empty($list_array[$z]))
echo $z . " Is Empty<br>";
}
您可以在這里嘗試,只需簡單地復制並粘貼即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.