檢查數組是否存在元素的兩種方法:1、使用“===”判斷數組是否為“[]”,語法“數組===[]”,如果返回TRUE則數組中不存在元素,反之則數組中存在元素;2、用count()或sizeof()計算數組的長度,判斷數組長度是否為0,語法“count(數組)==0”,如果為0則數組中不存在元素,反之數組中存在元素。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php檢查陣列是否存在元素的方法
檢查陣列是否有元素,就是檢查陣列是否為空數組(如果為空數組則數組中沒有元素)。
方法1:使用「===」判斷陣列是否為「[]」
#如果傳回TRUE,則為空數組,則數組中不存在元素
如果傳回FALSE,則不為空數組,則數組中存在元素
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ // 检查数组是否为空 if($arr===[]) echo "数组中不存在元素"; else echo "数组中存在元素"; } $array = array(); var_dump($array); f($array); $array = array(1,2,3); var_dump($array); f($array); ?>
方法2:使用count()或sizeof()函數
一個長度為0的陣列我們稱為“空數組”,空數組是真正的對象,只是包含元素個數為0。
因此,我們可以使用count()函數計算數組的長度,然後判斷該長度是否為0;如果為0則為空數組,反之不為空數組。
count($arr,$m)
$m:為可選參數,可省略。
如果省略$m 參數,或設定為COUNT_NORMAL 或0,count() 函數將不偵測多維數組;
如果$m 設定為COUNT_RECURSIVE 或1,count() 函數將遞歸計算數組中元素的個數,對於計算多維數組的元素個數特別有用。
範例:
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ // 检查数组是否为空 if(count($arr)) echo "数组中存在元素"; else echo "数组中不存在元素"; } $array = array(); var_dump($array); f($array); $array = array(1,2,3); var_dump($array); f($array); ?>
#sizeof()函數是count() 函數的別名,也就是所sizeof() 函數的功能及使用方法與count() 函數完全相同。
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ // 检查数组是否为空 if(sizeof($arr)) echo "数组中存在元素"; else echo "数组中不存在元素"; } $array = array(); var_dump($array); f($array); ?>
擴充知識:檢查陣列中是否存在指定元素
方法1:使用in_array()函數
在php中,想要查詢陣列是否存在某值,可以直接使用內建函數in_array()
in_array() 函數搜尋陣列中是否存在指定的值。如果在陣列中找到值則傳回 TRUE,否則傳回 FALSE。
範例:
<?php header('content-type:text/html;charset=utf-8'); $sites = array("Google", "phpcn", "Taobao", "Facebook"); if (in_array("phpcn", $sites)){ echo "存在指定值"; } else{ echo "不存在指定值"; } ?>
#方法2:使用array_search()函數
array_search()函數在陣列中搜尋某個鍵值,並傳回對應的鍵名。
利用函數也可以查詢數組是否有存在某值,如果存在則傳回對應鍵名,如果不存在則傳回false。
範例:
<?php header('content-type:text/html;charset=utf-8'); $sites = array("Google", "phpcn", "Taobao", "Facebook"); if (array_search("red", $sites)){ echo "存在指定值"; } else{ echo "不存在指定值"; } ?>
推薦學習:《PHP影片教學》
以上是php怎麼檢查數組是否存在元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!