php合并数组几种方法

2023/3/15 5:01:45 作者:站长日记 来源:https://www.cnblogs.com/alisleepy/p/16610515.html 浏览:281次

几种合并数组方法如下:


使用+号合并数组结果:

键名相同时,前边的键值覆盖后边的键值


array_merge()方法:

键名相同时,后边的键值覆盖前边的键值

但是对于数字索引或者数字字符串索引,会按照顺序进行重置(第一个数组的第一个数字索引元素从0开始依次填充)


array_merge_recursive()方法:

键名相同时,相同键名的键值组成一个新的数组,最后结果就是二维数组

但是对于数字索引或者数字字符串索引,会按照顺序进行重置(第一个数组的第一个数字索引元素从0开始依次填充)。即使对应的数字索引相同,也不会将相同索引的元素整合成功一个子数组。


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);
}


上一篇: phpStudy后门漏洞利用及修复 下一篇: 没有了