>

array_merge函数_php实例_脚本之家,php常用数组函数

- 编辑:金沙国际平台登录 -

array_merge函数_php实例_脚本之家,php常用数组函数

重新认识php array_merge函数

本文实例总结了php常用数组函数。分享给大家供大家参考,具体如下:

今天因一个Bug重新审视了下array_merge()这个函数。

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

定义:array_merge — 合并一个或多个数组

函数功能:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回结果的数组。

规范:array array_merge(array $array1 [, array $...])

如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

1. 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。

如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

2. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

例1:数组中有相同的字符串键名

3. 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

$array1=array('color'=>'greed','3'=>8);$array2=array("a",'color'=>"red",'3'=>8);var_dump(array_merge;

array{ ["color"]=> string [1]=> string}

这个函数在手册中有详尽示例,用途也很广且实用。

键名重复的color被覆盖,只取后面的值‘red',而数字键名相同的‘3'未被覆盖,而是附加到后面。

今天遇到的一个问题是手册中有警告的,只是此前没注意到,导致了一个致命的错误。如下:

2. array array_slice(array $array,int $offset, [, int $length [, bool $preserve_keys ]])

PHP >= 5.0 版本,array_merge() 只接受array类型的参数。不过可以用强制转换来合并其它类型。

函数功能:返回根据offset和length参数所指定的array数组中的一段序列。

对于是foreach等代码产生的数组变量要注意了,要么初始化该变量为空数组,要么就在合并时做个强制转换。不然,会有大苦头吃。因此,保持一个初始化变量的习惯也是个好事。

如果offset非负:则数组将从开始端到offset的偏移量开始。$array=array;array_slice;相当于;红色代表截取后的数组

PHP中合并数组分成两种情况

如果offset为负:则数组将从末端到offset的偏移量开始。array_slice;相当于;

1、如果这两个数组中有相同的字符串键名:

如果length为正:从offset开始的截取的个数。array_slice;相当于;

'linux服务器配置与管理','php'=>'PHP程序设计'); $book2 = array('linux'=>'服务器配置与管理','jsp'=>'PHP'); $result = array_merge; print_r;?>

Array ( [linux] => 服务器配置与管理 [php] => PHP程序设计 [jsp] => PHP )

如果length为负:则序列将终止在距离数组末端这么远的地方;array_slice;相当于;默认为:到数组末尾。

说明,后者将替换前者。但如果使用的是array_merge_recursive()则可保留,并作一个子数组存在。如:

3. array_map(callback $callback , array $arr1[, array $.....])

'linux服务器配置与管理','php'=>'PHP程序设计'); $book2 = array('linux'=>'服务器配置与管理','jsp'=>'PHP'); $result = array_merge_recursive; print_r;?>

Array ( [linux] => Array ( [0] => linux服务器配置与管理 [1] => 服务器配置与管理 ) [php] => PHP程序设计 [jsp] => PHP )

函数功能:返回一个数组,该数组包含了arr1中的所有单元经过callback作用后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

2、如果这两个数组中有相同的数值键名:

Array( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125)
Array ( [0] => linux服务器配置与管理 [1] => PHP程序设计 [2] => 服务器配置与管理 [3] => PHP )

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组操作技巧大全》、《php字符串用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

这时,如果数组中包含相同的数字键名,则后面的不会覆盖前面的值,而是后面的键值按顺序依次增加,附在后边。明白了吗,^_^

希望本文所述对大家PHP程序设计有所帮助。

本文由编程发布,转载请注明来源:array_merge函数_php实例_脚本之家,php常用数组函数