php 两个普通数组合并为一个普通数组

作者&投稿:欧阳姣 (若有异议请与网页底部的电邮联系)
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)


鲅鱼圈区17875105087: php中如何合并两个数组 -
韦飞山海: 展开全部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]] =...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网