php數(shù)組的兩種類型:1、索引數(shù)組,下標(biāo)(鍵名)由數(shù)字組成,默認(rèn)從0開始自動遞增,每個(gè)數(shù)字對應(yīng)一個(gè)數(shù)組元素在數(shù)組中的位置。2、關(guān)聯(lián)數(shù)組,下標(biāo)(鍵名)由字符串或字符串、數(shù)字混合的形式組成;如果一個(gè)數(shù)組中有一個(gè)鍵名不是數(shù)字,那么這個(gè)數(shù)組就是關(guān)聯(lián)數(shù)組。
php零基礎(chǔ)到就業(yè)直播視頻課:進(jìn)入學(xué)習(xí)
接口如何自動化測試:快速上手
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在 PHP 數(shù)組中,鍵名會有一個(gè)值與其相對應(yīng),即一個(gè)鍵/值對。
根據(jù)數(shù)組鍵名數(shù)據(jù)類型的不同,我們可以把 PHP 數(shù)組分為兩種:
-
以數(shù)字作為鍵名的稱為索引數(shù)組(Indexed Array);
-
以字符串或字符串、數(shù)字混合為鍵名的數(shù)組稱為關(guān)聯(lián)數(shù)組(Associative Array)。
1、索引數(shù)組
索引數(shù)組的下標(biāo)(鍵名)由數(shù)字組成,默認(rèn)從 0 開始,每個(gè)數(shù)字對應(yīng)一個(gè)數(shù)組元素在數(shù)組中的位置,不需要特別指定,PHP 會自動為索引數(shù)組的鍵名賦一個(gè)整數(shù)值,然后從這個(gè)值開始自動遞增。
<?php header('content-type:text/html;charset=utf-8'); $array=array(1,2,3,4,5,6,7,8,9,10); var_dump($array);//打印數(shù)組 ?>
2、關(guān)聯(lián)數(shù)組
關(guān)聯(lián)數(shù)組的下標(biāo)(鍵名)由數(shù)值和字符串混合的形式組成,如果一個(gè)數(shù)組中有一個(gè)鍵名不是數(shù)字,那么這個(gè)數(shù)組就是關(guān)聯(lián)數(shù)組。
<?php header('content-type:text/html;charset=utf-8'); $array=array("id"=>1,"name"=>"李華","age"=>23,"1"=>1,"id2"=>52); var_dump($array);//打印數(shù)組 ?>
關(guān)聯(lián)數(shù)組的鍵名可以是任何一個(gè)整數(shù)或字符串。如果鍵名是一個(gè)字符串,則要給這個(gè)鍵名加上一個(gè)定界修飾符——單引號''或雙引號""。對于索引數(shù)組,為了避免混清,最好也加上定界符。
擴(kuò)展知識:索引數(shù)組和關(guān)聯(lián)數(shù)組的相互轉(zhuǎn)換
關(guān)聯(lián)數(shù)組轉(zhuǎn)索引數(shù)組
在php中,可以使用array_values()函數(shù)來將關(guān)聯(lián)數(shù)組轉(zhuǎn)為索引數(shù)組。
array_values($array)
函數(shù)的作用是返回?cái)?shù)組中所有元素的值,使用起來非常簡單,只有一個(gè)必選參數(shù),就可以返回一個(gè)包含給定數(shù)組中所有值的數(shù)組,但不保留鍵名。被返回的數(shù)組將使用索引數(shù)組的形式,數(shù)組的索引從 0 開始且以 1 遞增。
簡單來說,利用該函數(shù)可以重置數(shù)組鍵名,將字符串或數(shù)值混亂的鍵名轉(zhuǎn)為從0開始且以1遞增的數(shù)字鍵名。
array_values() 函數(shù)特別適合用于數(shù)組中元素下標(biāo)混亂的數(shù)組,或者用于將關(guān)聯(lián)數(shù)組轉(zhuǎn)化為索引數(shù)組。
<?php $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90); var_dump($arr); var_dump(array_values($arr)); ?>
索引數(shù)組轉(zhuǎn)關(guān)聯(lián)數(shù)組
在php中,可以利用array_combine()函數(shù)來將索引數(shù)組轉(zhuǎn)成關(guān)聯(lián)數(shù)組。
array_combine($keys,$values)
函數(shù)通過合并兩個(gè)數(shù)組的方式創(chuàng)建了一個(gè)新數(shù)組,其中$keys數(shù)組中的元素作為了新數(shù)組的鍵名,$values數(shù)組的元素為作為了新數(shù)組的鍵值。
但需要注意的是,使用array_combine()函數(shù)創(chuàng)建數(shù)組時(shí),$keys數(shù)組和$values數(shù)組中的元素個(gè)數(shù)必須要一致,這才能讓鍵名和鍵值一一對應(yīng),否則就會報(bào)錯(cuò)并返回 FALSE。
且$keys數(shù)組不可為多維數(shù)組,否則也會報(bào)錯(cuò);但$values數(shù)組可以為多維數(shù)組。
<?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()合并數(shù)組后:"; var_dump(array_combine($keys,$values)); ?>
推薦學(xué)習(xí):《PHP視頻教程》