几种合并数组方法如下:

  • 使用+号合并数组结果:
    • 键名相同时,前边的键值覆盖后边的键值
  • 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);
}