几种合并数组方法如下:
- 使用+号合并数组结果:
- 键名相同时,前边的键值覆盖后边的键值
- array_merge()方法:
- 键名相同时,后边的键值覆盖前边的键值
- array_merge_recursive()方法:
- 键名相同时,相同键名的键值组成一个新的数组,最后结果就是二维数组
- array_combine()方法:
- 参数数组长度必须一致,第一个数组的键值为结果数组中的键名,第二个数组的键值为结果数组的键值
/*----------*/ | |
public $arr1 = [ | |
'a' => 'A1', | |
'b' => 'B1', | |
]; | |
protected $arr2 = [ | |
'a' => 'A2', | |
'b' => 'B2', | |
'c' => 'C2', | |
]; | |
/** | |
* 合并数组,使用+号来操作,键名相同时,前边的键值会覆盖后边的键值 | |
*/ | |
public function jiaArray(): array | |
{ | |
return $this->arr1 + $this->arr2; | |
} | |
// array_merge:键名相同时,后边的覆盖前边的 | |
private function mergeArr(): array | |
{ | |
return array_merge($this->arr1, $this->arr2); | |
} | |
// array_merge_recursive:如果键名相同,则把多个键值再组成一个数组,最后结果是二维数组, | |
private function siveArr():array | |
{ | |
return array_merge_recursive($this->arr1, $this->arr2); | |
} | |
// array_combine:合并两个数组,其中第一个数组的键值为新的键名,第二个数组的键值为新的键值 | |
private function combineArr():array | |
{ | |
return array_combine($this->arr1, $this->arr2); | |
} |