您好,登錄后才能下訂單哦!
這篇文章主要介紹了php如何判斷一個數組是否為索引數組的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇php如何判斷一個數組是否為索引數組文章都會有所收獲,下面我們一起來看看吧。
判斷步驟:1、用array_keys()獲取原數組的全部鍵名,語法“array_keys(數組)”;2、用array_filter()過濾數組,語法“function f($v){return(is_string($v));}$res=array_filter($keys,"f");”,會返回一個包含字符串元素的過濾數組;3、判斷過濾數組是否為空數組,如果為空則數組是索引數組。
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,索引數組的下標(鍵名)由數字組成,如果一個數組中有一個鍵名不是數字,那么這個數組就是關聯數組(不是索引數組)。
因此只需要判斷數組的鍵名是否都為數字,即可判斷一個數組是否為索引數組。
實現步驟:
步驟1:使用array_keys()函數獲取原數組的全部鍵名
array_keys() 函數返回包含數組中所有鍵名的一個新數組。
array_keys(array,value,strict)
參數 | 描述 |
---|---|
array | 必需。規定數組。 |
value | 可選。您可以指定鍵值,然后只有該鍵值對應的鍵名會被返回。 |
strict | 可選。與 value 參數一起使用。可能的值:
|
<?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()函數過濾數組,返回鍵名數組中的字符串元素
function f($v){ return(is_string($v)); } $res=array_filter($keys,"f"); var_dump($res);
會返回一個包含字符串元素的過濾數組
步驟3:判斷過濾數組是否為空數組
$res==[]
如果為空,則數組是索引數組
如果不為空,則數組不是索引數組,是關聯數組
實現代碼:
<?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 "數組是索引數組<br>"; }else{ echo "數組不是索引數組,是關聯數組<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); ?>
關于“php如何判斷一個數組是否為索引數組”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“php如何判斷一個數組是否為索引數組”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。