PHP中数组合并的方法

1. array array_merge(array $array1[, array $...])

合并一个或多个数组的元素,将后面的元素追加到前面的元素后面,并返回结果数组。

Code:

$arr1 = array(
    'astr1' => 'astr1',
    3 => 'anum1'
);

$arr2 = array(
    1 => 'bnum1',
    2 => 'bnum2',
    'bstr1' => 'bstr1',
    3 => 'bnum3',
    'astr1' => 'bstr2',
    '0' => 'bstr3',
    '1' => 'bstr4'
);

print_r(array_merge($arr1, $arr2));

Result:

Array
(
    [astr1] => bstr2
    [0] => anum1
    [1] => bstr4
    [2] => bnum2
    [bstr1] => bstr1
    [3] => bnum3
    [4] => bstr3
)

Conclusion:

key为数值的元素,从key=0开始按照递增的规则重新排序,如出现重复的key值时,依旧按递增的顺序排;

key为字符串的元素,按照原来的顺序排列,如出现重复的key时,后面的值会覆盖前面的值;

当key为‘0’时,按照数字处理;当key为‘1‘,‘2’等其他数字字符串时,会覆盖前面key为1,2的值

时间: 2024-10-06 16:18:52

PHP中数组合并的方法的相关文章

用JS实现一个数组合并的方法(要求去重)

最近发现一道面试题,用JS实现一个数组合并的方法(要求去重).我们知道,concat方法会合并两个数组并返回一个新的数组,新的数组会包含旧数组中的每一个元素,即[1,2,3]与[2,3,4]合并后的结果为[1,2,3,2,3,4].那么该如何实现,既能合并又能去重? 思路就是,将目标数组的值作为key放进一个对象中,在这个过程中,重复的值就被过滤掉了,这样就排除了重复的值. 两个数组,a = [1,2,3], b = [2,3,4],要求合并后的数组为[1,2,3,4] Array.protot

iOS中数组遍历的方法及比较

数组遍历是编码中很常见的一种需求,我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 因为iOS是兼容C语言的,所以C语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系统的语言数组,大约有30多个数据,虽然还不够模拟大批量的数据,但对于方法的验证是没有问题的了. NSArray *langArray = [[NSUserDefaults standardUserDefaults] arrayForKey:@"AppleLanguages"]; 第一种方法

PHP中数组合并的两种方法及区别介绍

PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = array( 'where' => 'uid=2', 'order' => 'uid desc', ); 1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的 复制代码代码如下: <?php $c = array_merge($a, $b); var_expo

javascript中数组常用的方法

在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. 运行[] instanceof Array他会返回ture.虽然结果是这样,但也有复杂的类数组对象,如字符串或arguments对象,但arguments对象并非是Array的实例,但他却拥有length属性,而且他的值是可以被索引的,因此他可以像一个数组那样被遍历. 这本文中,我将介绍数组原型的一

ES6中数组的新方法

数组的扩展 1.1扩展运算符 1.1.1:... 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. <body> <div></div> <div></div> <div></div> <div></div> </body> <script type="text/javascript"> c

javascript中数组的concat()方法 - 数组连接

1 <html> 2 <head> 3 <title>数组的concat()方法</title> 4 5 <script> 6 /* 7 数组的concat()方法: 8 1.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 9 2.返回一个新的数组.该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的. 10 如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组. 11 */

iOS中数组的排序方法

1函数介绍与实例 函数一:- (void)sortUsingSelector:(SEL)comparator; 适用于数组中的元素自带比较函数时: 数组排序函数,调用该函数的对象为数组,comparator是调用该函数的数组中的元素的方法.函数参数类型为数组中的元素类型或者id类型,在调用时不需要传递参数,排序过程不可见,该函数执行时:循环取出各个元素,进行比较,然后放到合适的位置 使用实例: 将数组中的元素按照字符串大小排序: NSMutableArray*array = [[NSMutabl

js中数组内置方法

var arr = ['A','B','C','D']; length 计算数组的长度 arr.length//4 indexOf() 搜索一个指定的元素的位置 arr.indexOf('C');//2 arr.indexOf('d');//-1,不存在返回-1 slice() 截取数组的部分长度,然后返回新的数组 arr.slice(0,3);//从开始索引0开始,到结束索引结束,但不包括结束索引,['A','B','C'] arr.slice(3);//从7开始到结束,['D''] push

JS中数组的迭代方法和归并方法

昨天总结的JavaScript中的数组Array方法 数组的迭代方法 ES5中为数组定义了5个迭代方法.每个方法都要接收两个参数:要在每一项上面运行的函数和(可选的)运行该函数的作用域对象---影响this的值. 传入方法中的函数会介绍三个参数:1.数组项的值 2. 该项在数组的中位值 3. 数组对象本身: every()和some()方法  every():对数组中的每一项运行给定函数,如果每一项都返回true,则返回true,否则false:  some():对数组中的每一项运行给定函数,如