判斷步驟:1、使用array_keys()取得數組的全部鍵名,語法“array_keys($arr)”,會傳回一個包含全部鍵名的鍵名數組;2、使用foreach遍歷鍵名數組,在循環體中,判斷是否有數組元素為字串類型,只要有一個是則為關聯數組,語法“foreach($k as $v){if(is_string($v)){echo "是關聯數組";}}」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
什麼是關聯數組
關聯數組的下標(鍵名)由數值和字串混合的形式組成,如果一個數組中有一個鍵名不是數字,那麼這個數組就是關聯數組。
php怎麼判斷是否為關聯陣列
#1、使用array_keys()取得陣列的鍵名稱
#array_key() 函數可以取得數組中的部分或所有鍵名,傳回一個鍵名數組
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(1=>"1","a"=>"red",2=>"2","b"=>"green","c"=>"blue"); var_dump($arr); $keys=array_keys($arr); var_dump($keys); ?>
2、使用foreach遍歷鍵名數組
在循環體中,判斷是否有數組元素為字串
#只要有一個為字串則數組為關聯數組
foreach($keys as $v){ if(is_string($v)){ echo "是关联数组"; break; } }
改進:判斷數組是關聯數組,還是索引數組
$keys=array_keys($arr); $b=""; foreach($keys as $v){ if(!is_string($v)){ $b=false; }else{ $b=true; break; } } if($b){ echo "是关联数组"; }else{ echo "不是关联数组,是索引数组"; }
如果檢測的是以下陣列:
$arr=array(1,2,3,4,5);
則會輸出:
#推薦學習:《PHP影片教學》
以上是php怎麼判斷是否為關聯數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!