在先前的文章《PHP數組學習之如何以填充方式來創建數組》中,我們介紹了兩個另類的數組創建方法。這裡我們再介紹一個另類的陣列建立方法,我們來看看吧。
我們一般講的合併兩個數組,是類型這樣:
有两个数组 array (size=2) 'a' => string 'red' (length=3) 'b' => string 'green' (length=5) array (size=2) 'c' => string 'blue' (length=4) 'd' => string 'yellow' (length=6) 合并两个数组 array (size=4) 'a' => string 'red' (length=3) 'b' => string 'green' (length=5) 'c' => string 'blue' (length=4) 'd' => string 'yellow' (length=6)
拼接兩個數組,將一個數組的所有元素(鍵名和鍵值)附加在另一個數組的後面。
但其實合併兩個數組,還可以是以一個數組元素為鍵名、另一個數組元素為鍵值,透過這種方式我們就可以建立一個新數組。
我們來看看下面一個例子:
<?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)); ?>
輸出結果為:
可以看出,上面的範例中使用array_combine($keys,$values)
函數透過合併兩個陣列的方式建立了一個新數組,其中$keys
數組中的元素作為了新數組的鍵名,$values
陣列的元素為作為了新陣列的鍵值。
但要注意的是,使用array_combine()函數建立數組時,$keys數組和$values數組中的元素個數必須一致,這才能讓鍵名和鍵值一一對應,否則就會報錯並回傳FALSE:
<?php $keys=array("a","b","c","d"); $values=array("red","green","blue"); var_dump(array_combine($keys,$values)); ?>
$keys數組不可為多維數組
<?php $keys=array(array("1","2","3"),"b","c","d"); $values=array("red","green","blue","yellow"); var_dump(array_combine($keys,$values)); ?>
否則就會報錯:
#但$values數組可以為多維數組
<?php $keys=array("a","b","c","d"); $values=array(array("red","pink","orange"),"green","blue","yellow"); var_dump(array_combine($keys,$values)); ?>
輸出結果為:
好了就說到這裡了,還有其他想知道的,可以點擊這個哦。 → →php影片教學
最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!
以上是PHP數組學習如何以合併方式建立數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!