array_merge 合并一个或多个数组
发表日期:2021-07-01 08:57:07 | 来源: | | 浏览(853) 分类:数组 函数
array_merge
(PHP 4, PHP 5, PHP 7, PHP 8)
array_merge — 合并一个或多个数组
说明
$...
= ?): array将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将 不会 覆盖原来的值,而是附加到后面。
如果输入的数组存在以数字作为索引的内容,则这项内容的键名会以连续方式重新索引。
参数
-
...
-
要合并的数组。
返回值
返回合并后的结果数组。如果参数为空,则返回空 array。
更新日志
版本 | 说明 |
---|---|
7.4.0 | 允许不带参数调用,之前版本至少需要一个参数。 |
范例
示例 #1 array_merge() 示例
<?php $array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result); ?>
以上例程会输出:
Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
示例 #2 Simple array_merge() 示例
<?php $array1 = array(); $array2 = array(1 => "data"); $result = array_merge($array1, $array2); ?>
别忘了数字键名将会被重新编号!
Array ( [0] => data )
如果你想完全保留原有数组并只想新的数组附加到后面,可以使用
+
运算符:
<?php $array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a'); $array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b'); $result = $array1 + $array2; var_dump($result); ?>
第一个数组的键名将会被保留。在两个数组中存在相同的键名时,第一个数组中的同键名的元素将会被保留,第二个数组中的元素将会被忽略。
array(5) { [0]=> string(6) "zero_a" [2]=> string(5) "two_a" [3]=> string(7) "three_a" [1]=> string(5) "one_b" [4]=> string(6) "four_b" }
示例 #3 array_merge() 合并非数组的类型
<?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?>
以上例程会输出:
Array ( [0] => foo [1] => bar )
参见
- array_merge_recursive() - 递归地合并一个或多个数组
- array_replace() - 使用传递的数组替换第一个数组的元素
- array_combine() - 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
- 数组操作符
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- array_change_key_case 将数组中的所有键名修改为全大写或小写(0)
- array_chunk 将一个数组分割成多个(0)
- array_column 返回数组中指定的一列(0)
- array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值(0)
- array_count_values 统计数组中所有的值(0)
- array_diff_assoc 带索引检查计算数组的差集(0)
- array_diff_key 使用键名比较计算数组的差集(0)
- array_diff_uassoc 用用户提供的回调函数做索引检查来计算数组的差集(0)
- array_diff_ukey 用回调函数对键名比较计算数组的差集(0)
- array_diff 计算数组的差集(0)
- array_fill_keys 使用指定的键和值填充数组(0)
- array_fill 用给定的值填充数组(0)
- array_filter 使用回调函数过滤数组的元素(0)
- array_flip 交换数组中的键和值(0)
- array_intersect_assoc 带索引检查计算数组的交集(0)
- array_intersect_key 使用键名比较计算数组的交集(0)
- array_intersect_uassoc 带索引检查计算数组的交集,用回调函数比较索引(0)
- array_intersect_ukey 在键名上使用回调函数来比较计算数组的交集(0)
- array_intersect 计算数组的交集(0)
- array_key_exists 检查数组里是否有指定的键名或索引(0)
- array_key_first 获取指定数组的第一个键值(0)
- array_key_last 获取一个数组的最后一个键值(0)
- array_keys 返回数组中部分的或所有的键名(0)
- array_map 为数组的每个元素应用回调函数(0)
- array_merge_recursive 递归地合并一个或多个数组(0)
- array_merge 合并一个或多个数组(0)
- array_multisort 对多个数组或多维数组进行排序(0)
- array_pad 以指定长度将一个值填充进数组(0)
- array_pop 弹出数组最后一个单元(出栈)(0)
- array_product 计算数组中所有值的乘积(0)
- array_push 将一个或多个单元压入数组的末尾(入栈)(0)
- array_rand 从数组中随机取出一个或多个随机键(0)
- array_reduce 用回调函数迭代地将数组简化为单一的值(0)
- array_replace_recursive 使用传递的数组递归替换第一个数组的元素(0)
- array_replace 使用传递的数组替换第一个数组的元素(0)
- array_reverse 返回单元顺序相反的数组(0)
- array_search 在数组中搜索给定的值,如果成功则返回首个相应的键名(0)
- array_shift 将数组开头的单元移出数组(0)
- array_slice 从数组中取出一段(0)
- array_splice 去掉数组中的某一部分并用其它值取代(0)
- array_sum 对数组中所有值求和(0)
- array_udiff_assoc 带索引检查计算数组的差集,用回调函数比较数据(0)
- array_udiff_uassoc 带索引检查计算数组的差集,用回调函数比较数据和索引(0)
- array_udiff 用回调函数比较数据来计算数组的差集(0)
- array_uintersect_assoc 带索引检查计算数组的交集,用回调函数比较数据(0)
- array_uintersect_uassoc 带索引检查计算数组的交集,用单独的回调函数比较数据和索引(0)
- array_uintersect 计算数组的交集,用回调函数比较数据(0)
- array_unique 移除数组中重复的值(0)
- array_unshift 在数组开头插入一个或多个单元(0)
- array_values 返回数组中所有的值(0)
- array_walk_recursive 对数组中的每个成员递归地应用用户函数(0)
- array_walk 使用用户自定义函数对数组中的每个元素做回调处理(0)
- array 新建一个数组(0)
- arsort 对数组进行降向排序并保持索引关系(0)
- asort 对数组进行升序排序并保持索引关系(0)
- compact 建立一个数组,包括变量名和它们的值(0)
- count 计算数组中的单元数目,或对象中的属性个数(0)
- current 返回数组中的当前值(0)
- each 返回数组中当前的键/值对并将数组指针向前移动一步(0)
- end 将数组的内部指针指向最后一个单元(0)
- extract 从数组中将变量导入到当前的符号表(0)
- in_array 检查数组中是否存在某个值(0)
- key_exists 别名 array_key_exists()(0)
- key 从关联数组中取得键名(0)
- krsort 对数组按照键名逆向排序(0)
- ksort 对数组根据键名升序排序(0)
- list 把数组中的值赋给一组变量(0)
- natcasesort 用“自然排序”算法对数组进行不区分大小写字母的排序(0)
- natsort 用“自然排序”算法对数组排序(0)
- next 将数组中的内部指针向前移动一位(0)
- pos current() 的别名(0)
- prev 将数组的内部指针倒回一位(0)
- range 根据范围创建数组,包含指定的元素(0)
- reset 将数组的内部指针指向第一个单元(0)
- rsort 对数组降序排序(0)
- shuffle 打乱数组(0)
- sizeof count() 的别名(0)
- sort 对数组升序排序(0)
- uasort 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联(0)
- uksort 使用用户自定义的比较函数对数组中的键名进行排序(0)
- usort 使用用户自定义的比较函数对数组中的值进行排序(0)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)