php陣列的兩種型別:1、索引陣列,下標(鍵名)由數位組成,預設從0開始自動遞增,每個數位對應一個陣列元素在陣列中的位置。2、關聯陣列,下標(鍵名)由字串或字串、數位混合的形式組成;如果一個陣列中有一個鍵名不是數位,那麼這個陣列就是關聯陣列。
php零基礎到就業直播視訊課:進入學習
程式設計師必備介面測試偵錯工具:
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在 PHP 陣列中,鍵名會有一個值與其相對應,即一個鍵/值對。
根據陣列鍵名資料型別的不同,我們可以把 PHP 陣列分為兩種:
以數位作為鍵名的稱為索引陣列(Indexed Array);
以字串或字串、數位混合為鍵名的陣列稱為關聯陣列(Associative Array)。
1、索引陣列
索引陣列的下標(鍵名)由數位組成,預設從 0 開始,每個數位對應一個陣列元素在陣列中的位置,不需要特別指定,PHP 會自動為索引陣列的鍵名賦一個整數值,然後從這個值開始自動遞增。
<?php header('content-type:text/html;charset=utf-8'); $array=array(1,2,3,4,5,6,7,8,9,10); var_dump($array);//列印陣列 ?>
2、關聯陣列
關聯陣列的下標(鍵名)由數值和字串混合的形式組成,如果一個陣列中有一個鍵名不是數位,那麼這個陣列就是關聯陣列。
<?php header('content-type:text/html;charset=utf-8'); $array=array("id"=>1,"name"=>"李華","age"=>23,"1"=>1,"id2"=>52); var_dump($array);//列印陣列 ?>
關聯陣列的鍵名可以是任何一個整數或字串。如果鍵名是一個字串,則要給這個鍵名加上一個定界修飾符——單引號''或雙引號""。對於索引陣列,為了避免混清,最好也加上定界符。
擴充套件知識:索引陣列和關聯陣列的相互轉換
關聯陣列轉索引陣列
在php中,可以使用array_values()函數來將關聯陣列轉為索引陣列。
array_values($array)
函數的作用是返回陣列中所有元素的值,使用起來非常簡單,只有一個必選引數,就可以返回一個包含給定陣列中所有值的陣列,但不保留鍵名。被返回的陣列將使用索引陣列的形式,陣列的索引從 0 開始且以 1 遞增。
簡單來說,利用該函數可以重置陣列鍵名,將字串或數值混亂的鍵名轉為從0開始且以1遞增的數位鍵名。
array_values() 函數特別適合用於陣列中元素下標混亂的陣列,或者用於將關聯陣列轉化為索引陣列。
<?php $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90); var_dump($arr); var_dump(array_values($arr)); ?>
索引陣列轉關聯陣列
在php中,可以利用array_combine()函數來將索引陣列轉成關聯陣列。
array_combine($keys,$values)
函數通過合併兩個陣列的方式建立了一個新陣列,其中$keys陣列中的元素作為了新陣列的鍵名,$values陣列的元素為作為了新陣列的鍵值。
但需要注意的是,使用array_combine()函數建立陣列時,$keys陣列和$values陣列中的元素個數必須要一致,這才能讓鍵名和鍵值一一對應,否則就會報錯並返回 FALSE。
且$keys陣列不可為多維陣列,否則也會報錯;但$values陣列可以為多維陣列。
<?php header("Content-type:text/html;charset=utf-8"); $keys=array("a","b","c","d"); $values=array("red","green","blue","yellow"); var_dump($keys); var_dump($values); echo "使用array_combine()合併陣列後:"; var_dump(array_combine($keys,$values)); ?>
推薦學習:《》
以上就是php中的陣列分為哪兩種型別的詳細內容,更多請關注TW511.COM其它相關文章!