php合并两个数组
‘壹’ php数组合并两个数组(一个数组做键名,另一个做值)
首先你要在肯定$array_a和$array_b的值count是一致的,否则$array_a值的
个数少的话不符合数组规则;
所以保守写法,循环$array_a:
$array_ab=array();
for($i=0;$i<=count($array_a);$i++)
{
$array_ab[$array_b[$i]]=$array_a[$i];
}
print_r($array_ab);
‘贰’ 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 两个普通数组合并为一个普通数组
php两个普通数组合并为一个普通数组可以参考下面的代码:
<?php
$a=array(1,2,3,4,5);
$b=array(6,7,8,9,10);
$c=array_merge($a,$b);
print_r($c);
?>
注:当被合并的数组中有一个数组为空时,可能会出现合并后的数组也为空。
(3)php合并两个数组扩展阅读:
PHP常用函数
printf()函数输出格式化的字符串。
print()函数输出一个或多个字符串。
parse_str()函数把查询字符串解析到变量中。
ord() 函数返回字符串第一个字符的 ASCII 值。
number_format()函数通过千位分组来格式化数字。
nl2br()函数在字符串中的每个新行 ( ) 之前插入 HTML 换行符 (<br />)。
nl_langinfo()函数返回指定的本地信息。
‘肆’ php合并数组并保留键值的实现方法
php合并数组,一般会使用array_merge方法。
array_merge
—
合并一个或多个数组
array
array_merge
(
array
$array1
[,
array
$...
]
)
array_merge
将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面,返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
例子1,数组使用字符串键名,相同的键名会被后面的覆盖
<?php
$arr1
=
array('name'=>'fdipzone');
$arr2
=
array('name'=>'terry');
$result
=
array_merge($arr1,
$arr2);
print_r($result);
?>
输出:
Array
(
[name]
=>
terry
)
例子2,数组使用数字键名,键名相同不会覆盖,且键名会重新索引
<?php
$arr1
=
array(0=>'fdipzone',1=>'terry');
$arr2
=
array(0=>'php',1=>'python');
$result
=
array_merge($arr1,
$arr2);
print_r($result);
?>
输出:
Array
(
[0]
=>
fdipzone
[1]
=>
terry
[2]
=>
php
[3]
=>
python
)
因工作需要,需要将调查问卷的两部分选择题的答案合并一起,每部分答案为数组(key=>value),key为题号,value为答案,且两部分的题号不存在重复。
使用array_merge合并两部分答案
<?php
$form_data1
=
array(11=>'A',12=>'B',13=>'C',14=>'D');
$form_data2
=
array(25=>'B',26=>'A',27=>'D',28=>'C');
$result
=
array_merge($form_data1,
$form_data2);
print_r($result);
?>
输出:
Array
(
[0]
=>
A
[1]
=>
B
[2]
=>
C
[3]
=>
D
[4]
=>
B
[5]
=>
A
[6]
=>
D
[7]
=>
C
)
使用array_merge合并,因为题号(key)是数字,所以键名会重新索引,导致题号不能保留。
合并数组并保留键值的方法:
<?php
$form_data1
=
array(11=>'A',12=>'B',13=>'C',14=>'D');
$form_data2
=
array(25=>'B',26=>'A',27=>'D',28=>'C');
$result
=
$form_data1
+
$form_data2;
print_r($result);
?>
输出:
Array
(
[11]
=>
A
[12]
=>
B
[13]
=>
C
[14]
=>
D
[25]
=>
B
[26]
=>
A
[27]
=>
D
[28]
=>
C
)
使用
“+”
运算符合并数组,可以保留数组的键值,如果合并的数组中含有相同的键值,后面的不会覆盖前面的键值(前面的优先)。
以上这篇php合并数组并保留键值的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:php数组实现根据某个键值将相同键值合并生成新二维数组的方法PHP合并数组的2种方法小结PHP中数组合并的两种方法及区别介绍
‘伍’ php两个一维数组一对一合并
你想要的结果是什么呢?是将数组组合在一块数组内有多个(8个),那你可以找下函数:
array_push() 将
array 当成一个栈,并将传入的变量压入
array 的末尾。array
的长度将根据入栈变量的数目增加
还有一个你是想要以第一个数组为键值将第二个数组插入第一数组内组成数组,那你可以参考下函数:
array_merge_recursive() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
还有一个可以比对第一个函数,你是想将数组插入前面还是后面,函数如下:
array_unshift() 将传入的单元插入到
array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。
返回 array 数组新的单元数目。
‘陆’ php两个相关的多维数组怎么合并成一个数组
如果是两个数组是相对应的,可以使用以下方法:
<?php
//数组1(gc_class):
$gc_class=array(
0=>array('gc_id'=>1,'gc_name'=>'分类1','gc_title'=>'111111'),
1=>array('gc_id'=>2,'gc_name'=>'分类2','gc_title'=>'2222')
);
//数组2(acticity):
$acticity=array(
'0'=>array('activity_id'=>1,'gc_class'=>1,'activity_name'=>'分类1下面的活动'),
'1'=>array('activity_id'=>2,'gc_class'=>2,'activity_name'=>'分类2下面的活动')
);
$arrs=array();
foreach($gc_classas$key=>$_gc_class){
$arrs[$key]=array_merge($_gc_class,$acticity[$key]);
}
print_r($arrs);
exit;
‘柒’ PHP两个一维数组合并为二维数组
<?php
$arr1=array('足球','篮球');
$arr2=array('冰棒','雪糕');
//方法一:直接组合
$B=array($arr1,$arr2);
//方法二:键值组合
$C=array();
$C['运动项目']=$arr1;
$C['吃的']=$arr2;
//输出看看
echo"<pre>";
print_r($B);
print_r($C);
//附加:当然,这两个数组还可以在组合
$fujia=array();
$fujia['B方法']=$B;
$fujia['C方法']=$C;
echo"<hr/>";
print_r($fujia);
?>
‘捌’ php数组合并,这样怎么写
PHP数组合并,使用array_merge函数。示例如下:
$arr1=array(
"fd_companyName"=>"办公室",
array(
"fd_id"=>"1",
"fd_deptName"=>"综合处"
)
);
$arr2=array(
"fd_companyName"=>"办公室",
array(
"fd_id"=>"2",
"fd_deptName"=>"行政处"
)
);
print_r(array_merge($arr1,$arr2));exit;
//合并结果
/*
Array
(
[fd_companyName]=>办公室
[0]=>Array
(
[fd_id]=>1
[fd_deptName]=>综合处
)
[1]=>Array
(
[fd_id]=>2
[fd_deptName]=>行政处
)
)
*/