php中合并数组的方法

php中数组合并的方式有两种,具体方法容我慢慢道来:

1.array_merge()函数合并数组


具体事例如下:

<?php 

$a = array( 
    'where' => 'uid=1', 
    'order' => 'uid', 
    'limit' => '5'
); 
$b = array( 
    'where' => 'uid=2', 
    'order' => 'uid desc', 
); 

$c = array_merge($a,$b);
print_r($c);

$d = array_merge($b,$a);
print_r($d);

输出结果如下:

Array ( [where] => uid=2 [order] => uid desc [limit] => 5 )
Array ( [where] => uid=1 [order] => uid [limit] => 5 )

注意where和uid字段,这两个字段是 $a和 $b数组中共有的字段,在注意结果中这两个字段值的区别,可以总结出什么呢?
使用array_merge合并数组时,如果存在重复的键,则键值与函数中第二个参数中该字段的键值相同。

2.运算符+合并数组


具体实例如下:
<?php 

$a = array( 
    'where' => 'uid=1', 
    'order' => 'uid', 
    'limit' => '5'
); 
$b = array( 
    'where' => 'uid=2', 
    'order' => 'uid desc', 
); 

$c = $a+$b;
print_r($c);

$d = $b+$a;
print_r($d);

输出结果如下:

Array ( [where] => uid=1 [order] => uid [limit] => 5 )
Array ( [where] => uid=2 [order] => uid desc [limit] => 5 )

如上,我们仍然关注where和order字段的值,可以得出什么结论呢?
使用运算符+合并数组时,重复键的键值与具有该键的最前面的数组中的值相同


总结:php中合并数组的方式有两种,一个是使用php自带函数array_merge,另一种是使用运算符+,区别在于当需要合并的数组中有相同键值的时候,array_merge合并时该键的键值与后者中该键的键值相同,即会覆盖;而使用运算符+号时该键的键值与前者中该键的键值相同,即遇到存在的键值不执行相关动作。
注: array_merge对于整形的key是不替换的


以上就是php中合并数组的两种方式即异同点,感谢大家的阅读。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP有多种方式可以合并数组,以下是其的几种常见方式: 1. 使用array_merge()函数: array_merge()函数可以将两个或多个数组合并一个数组,它会把所有数组的值合并一个数组。示例代码如下: ``` $array1 = array('foo', 'bar'); $array2 = array('baz', 'qux'); $result = array_merge($array1, $array2); print_r($result); ``` 输出结果为: ``` Array ( [0] => foo [1] => bar [2] => baz [3] => qux ) ``` 2. 使用"+"运算符: "+"运算符也可以用来合并两个数组,它会返回一个数组,其包含了两个数组的所有元素。示例代码如下: ``` $array1 = array('foo', 'bar'); $array2 = array('baz', 'qux'); $result = $array1 + $array2; print_r($result); ``` 输出结果为: ``` Array ( [0] => foo [1] => bar [2] => baz [3] => qux ) ``` 需要注意的是,使用"+"运算符合并数组时,如果两个数组有相同的键名,那么后面数组会覆盖前面的数组。 3. 使用array_push()函数: array_push()函数可以将一个或多个元素添加到数组的末尾,从而实现合并数组的效果。示例代码如下: ``` $array1 = array('foo', 'bar'); $array2 = array('baz', 'qux'); foreach ($array2 as $value) { array_push($array1, $value); } print_r($array1); ``` 输出结果为: ``` Array ( [0] => foo [1] => bar [2] => baz [3] => qux ) ``` 需要注意的是,使用array_push()函数合并数组时,需要使用循环来遍历第二个数组,并将其元素一个个添加到第一个数组的末尾。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值