php 两个普通数组合并为一个普通数组
PHP 中的 array_merge_recursive() 函数可以实现
将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。
当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。
array_merge_recursive(array1,array2,array3...)
参数说明
array1 必需。输入的第一个数组。
array2 必需。输入的第二个数组。
array3 可选。可指定的多个输入数组。
例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>
输出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)
注:array_merge() 函数也可以实现,与 array_merge_recursive()函数不同是,如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。
PHP 中的 array_merge()、array_merge_recursive()函数可以实现
array_merge() 函数把两个或多个数组合并为一个数组。
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。
注意:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。
array_merge(array1,array2,array3...)
参数说明
array1 必需。输入的第一个数组。
array2 必需。输入的第二个数组。
array3 可选。可指定的多个输入数组。
例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
?>
输出:
Array ( [a] => Horse [b] => Cat [c] => Cow )
仅使用一个数组参数:
<?php
$a=array(3=>"Horse",4=>"Dog");
print_r(array_merge($a));
?>
输出:
Array ( [0] => Horse [1] => Dog )
array_merge_recursive() 函数与array_merge()函数不同的是,当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。
例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>
输出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)
php两个普通数组合并为一个普通数组可以参考下面的代码:
<?php
$a=array(1,2,3,4,5);
$b=array(6,7,8,9,10);
$c=array_merge($a,$b);
print_r($c);
?>
注:当被合并的数组中有一个数组为空时,可能会出现合并后的数组也为空。
扩展资料:
PHP常用函数
printf()函数输出格式化的字符串。
print()函数输出一个或多个字符串。
parse_str()函数把查询字符串解析到变量中。
ord() 函数返回字符串第一个字符的 ASCII 值。
number_format()函数通过千位分组来格式化数字。
nl2br()函数在字符串中的每个新行 (
) 之前插入 HTML 换行符 (<br />)。
nl_langinfo()函数返回指定的本地信息。
参考资料来源:百度百科-PHP (超文本预处理器)
<?php
$a=array(1,2,3,4,5);
$b=array(6,7,8,9,10);
$c=array_merge($a,$b);
print_r($c);
?>
id本应该是唯一性的键值,利用好就行。以下输出没有对id排序,因为觉得没必要。
需要时可以再排。
function mergeById(&$a,&$b){
$c=array();
foreach($a as $e) $c[$e['id']]=$e;
foreach($b as $e) $c[$e['id']]=isset($c[$e['id']])? $c[$e['id']]+$e : $e;
return $c;
}
$a=//数组一;
$b=//数组二;
var_dump(mergeById($b,$a));
===========
array
1 =>
array
'id' => int 1
'name' => string 'test' (length=4)
'subject' => string 'subject' (length=7)
2 =>
array
'id' => int 2
'name' => string 'test2' (length=5)
3 =>
array
'id' => int 3
'name' => string 'test3' (length=5)
'subject' => string 'subject3' (length=8)
韦飞山海: 展开全部1先数组列出来,再装进去啊2或者array_key_exists这个函数判断在数组二中是否存在该key,如果不存在那么就往数组二里面添加
鲅鱼圈区17875105087: PHP如何把两个数组结果合并在一起 - ?
韦飞山海: 首先你的思路是正确的,这点可以肯定,合并数组可以使用array_merge() 这个函数,array_merge() 函数把两个或多个数组合并为一个数组.如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引.
鲅鱼圈区17875105087: php 两个数组怎么合并成一个 - ?
韦飞山海: 1)键名为数字时,array_merge()后面的值将不会覆盖原来的值,而是附加到后面,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)2)键名为字符串时,array_merge()此时会覆盖掉前面相同键名的值,但+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖).
鲅鱼圈区17875105087: 如何合并在PHP对象的两个数组 - ?
韦飞山海: 1.首先你的思路是正确的,这点可以肯定,合并数组可以使用array_merge() 这个...2.如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的
鲅鱼圈区17875105087: PHP合并数组的几种方法 - ?
韦飞山海: PHP 中的 array_merge()、array_merge_recursive()函数可以实现 array_merge() 函数把两个或多个数组合并为一个数组.如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以...
鲅鱼圈区17875105087: 如何将php中的两个数组的值合并在一起 - ?
韦飞山海: array_merge($a,$b); 多查查手册吧···都有写的··
鲅鱼圈区17875105087: php 把带相同值的两个数组合并成一个如事例 - ?
韦飞山海: 没太明白你的意思,不过这三个函数应该有一个适合你的 array_combine(array1,array2) array_merge(array1,array2,array3...) array_merge_recursive(array1,array2,array3...)
鲅鱼圈区17875105087: php 两个数组,组合到一起 - ?
韦飞山海: 就是用array_merg来组合数组$arr1=Array("Price" => 100,"Count" => 2); $arr2=Array("Price" => 68,"Count" => 1); $arr3=Array("ImageUrl" => "http://www.baidu.com/uploads/r/roynyj1423816159/3/4/d/a/thumb_54e05b04e4e1c.jpg",...
鲅鱼圈区17875105087: 请问php中两个数组,如何重新组合并排序? - ?
韦飞山海: 其实这个和语言没多少关系,主要是方法:1.重新申请一个长度为2个数组总和长度的新数组;2.用for循环,结束标记为2个数组中较短数组的长度,将一个数组和比较长的数组的部分添加到新数组里;3.继续循环将较长数组的剩下部分添加到新数组里.这样2个数组就合并了.
鲅鱼圈区17875105087: php数组合并两个数组(一个数组做键名,另一个做值) **key名字可以重复 - ?
韦飞山海: php将两个键名和键值的数组元素合并为一个数组 你好,有两个方法可以实现:一:$arry_a = array(0, 1, 2);$arry_b = array('dongsir','董先生','董先生的CSDN博客');$arry_ab = []; foreach ($arry_b as $key => $value) {$arry_ab[$arry_a[$key]] =...