方法:1、使用“array_keys($arr)”獲取數(shù)組鍵名,返回一個鍵名數(shù)組;2、遍歷鍵名數(shù)組,判斷是否有數(shù)組元素為字符串,語法“foreach($k as $v){if(is_string($v)){echo "是關聯(lián)數(shù)組";}}”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
什么是關聯(lián)數(shù)組
關聯(lián)數(shù)組的下標(鍵名)由數(shù)值和字符串混合的形式組成,如果一個數(shù)組中有一個鍵名不是數(shù)字,那么這個數(shù)組就是關聯(lián)數(shù)組。
php怎么判斷是否為關聯(lián)數(shù)組
1、使用array_keys()獲取數(shù)組的鍵名
array_key() 函數(shù)可以獲取數(shù)組中的部分或所有鍵名,返回一個鍵名數(shù)組
<?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遍歷鍵名數(shù)組
在循環(huán)體中,判斷是否有數(shù)組元素為字符串
-
只要有一個為字符串則數(shù)組為關聯(lián)數(shù)組
foreach($keys as $v){ if(is_string($v)){ echo "是關聯(lián)數(shù)組"; break; } }
改進一下:判斷數(shù)組是關聯(lián)數(shù)組,還是索引數(shù)組
$keys=array_keys($arr); $b=""; foreach($keys as $v){ if(!is_string($v)){ $b=false; }else{ $b=true; break; } } if($b){ echo "是關聯(lián)數(shù)組"; }else{ echo "不是關聯(lián)數(shù)組,是索引數(shù)組"; }
如果檢測的是以下數(shù)組:
$arr=array(1,2,3,4,5);
則會輸出:
推薦學習:《PHP視頻教程》