合并方法:1、使用“數(shù)組1+數(shù)組2”語句;2、使用“array_merge(數(shù)組1,數(shù)組2)”語句;3、使用“array_merge_recursive(數(shù)組1,數(shù)組2)”語句;4、使用“array_combine(數(shù)組1,數(shù)組2)”語句。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
1、使用加號“+”運算符:
直接將兩個數(shù)組的值合并成為一個數(shù)組;
<?php $a = [1,2,3,'a'=>'a']; $b = ['a'=>'b',4,5,'b'=>'c',6,7,'a']; $c = $a + $b; var_dump($a); var_dump($b); var_dump($c); ?>
輸出結(jié)果:
采用"+"合并數(shù)組,如果鍵相同的情況下,前面的數(shù)組值會覆蓋掉后面的數(shù)組值。
2、使用array_merge()函數(shù)
直接將兩個數(shù)組進行合并,兩個數(shù)組鍵相同的情況,后面數(shù)組的值覆蓋前面數(shù)組的值
<?php $a = [1,'2'=>2,'a'=>'a','b'=>'b']; $b = [1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e']; $c = array_merge($a,$b); var_dump($a); var_dump($b); var_dump($c); ?>
輸出結(jié)果:
可以看出,兩個數(shù)組鍵相同的情況,后面數(shù)組的值覆蓋前面數(shù)組的值。但是對于數(shù)字索引或者數(shù)字字符串索引,會按照順序進行重置(第一個數(shù)組的第一個數(shù)字索引元素從0開始依次填充)
3、使用array_merge_recursive()函數(shù)
合并數(shù)組,遇到相同的鍵將該鍵中值合并為一個子數(shù)組
<?php $a = [1,'2'=>2,'a'=>'a','b'=>'b']; $b = [1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e']; $c = array_merge_recursive($a,$b); var_dump($a); var_dump($b); var_dump($c); ?>
輸出結(jié)果:
采用"array_merge_recursive"方法時,會將相同鍵的元素,整合成為一個新的數(shù)組,保持鍵名不變,作為合并數(shù)組($a與$b組合后的數(shù)組)的一個子元素。但是對于數(shù)字索引或者數(shù)字字符串索引,會按照順序進行重置(第一個數(shù)組的第一個數(shù)字索引元素從0開始依次填充)。即使對應(yīng)的數(shù)字索引相同,也不會將相同索引的元素整合成功一個子數(shù)組。
4、使用array_combine()函數(shù)
array_combine() 函數(shù)通過合并兩個數(shù)組來創(chuàng)建一個新數(shù)組,其中的一個數(shù)組元素為鍵名,另一個數(shù)組的元素為鍵值。
注釋:鍵名數(shù)組和鍵值數(shù)組的元素個數(shù)必須相同!
<?php $a=array("a","b","c","d"); $b=array("red","green","blue","yellow"); $c = array_combine($a,$b); var_dump($a); var_dump($b); var_dump($c); ?>
輸出結(jié)果:
推薦學(xué)習(xí):《PHP視頻教程》