判斷步驟:1、用array_keys()獲取原數(shù)組的全部鍵名,語法“array_keys(數(shù)組)”;2、用array_filter()過濾數(shù)組,語法“function f($v){return(is_string($v));}$res=array_filter($keys,"f");”,會(huì)返回一個(gè)包含字符串元素的過濾數(shù)組;3、判斷過濾數(shù)組是否為空數(shù)組,如果為空則數(shù)組是索引數(shù)組。
php零基礎(chǔ)到就業(yè)直播視頻課:進(jìn)入學(xué)習(xí)
接口如何自動(dòng)化測(cè)試:快速上手
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php中,索引數(shù)組的下標(biāo)(鍵名)由數(shù)字組成,如果一個(gè)數(shù)組中有一個(gè)鍵名不是數(shù)字,那么這個(gè)數(shù)組就是關(guān)聯(lián)數(shù)組(不是索引數(shù)組)。
因此只需要判斷數(shù)組的鍵名是否都為數(shù)字,即可判斷一個(gè)數(shù)組是否為索引數(shù)組。
實(shí)現(xiàn)步驟:
步驟1:使用array_keys()函數(shù)獲取原數(shù)組的全部鍵名
array_keys() 函數(shù)返回包含數(shù)組中所有鍵名的一個(gè)新數(shù)組。
array_keys(array,value,strict)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定數(shù)組。 |
value | 可選。您可以指定鍵值,然后只有該鍵值對(duì)應(yīng)的鍵名會(huì)被返回。 |
strict | 可選。與 value 參數(shù)一起使用??赡艿闹担?/p>
|
<?php header('content-type:text/html;charset=utf-8'); $arr=array("r"=>"red",2,3,"hello",5,6); var_dump($arr); $keys=array_keys($arr); var_dump($keys); ?>
步驟2:使用array_filter()和is_string()函數(shù)過濾數(shù)組,返回鍵名數(shù)組中的字符串元素
function f($v){ return(is_string($v)); } $res=array_filter($keys,"f"); var_dump($res);
會(huì)返回一個(gè)包含字符串元素的過濾數(shù)組
步驟3:判斷過濾數(shù)組是否為空數(shù)組
$res==[]
-
如果為空,則數(shù)組是索引數(shù)組
-
如果不為空,則數(shù)組不是索引數(shù)組,是關(guān)聯(lián)數(shù)組
實(shí)現(xiàn)代碼:
<?php header('content-type:text/html;charset=utf-8'); function f($v){ return(is_string($v)); } function fun($arr){ $keys=array_keys($arr); $res=array_filter($keys,"f"); if($res==[]){ echo "數(shù)組是索引數(shù)組<br>"; }else{ echo "數(shù)組不是索引數(shù)組,是關(guān)聯(lián)數(shù)組<br>"; } } $arr=array("r"=>"red",2,3,"hello",5,6); var_dump($arr); fun($arr); $arr=array(1,2,3,"hello",5,6); var_dump($arr); fun($arr); ?>
推薦學(xué)習(xí):《PHP視頻教程》