php数组合并两个数组(一个数组做键名,另一个做值) **key名字可以重复
发布网友
发布时间:2022-04-06 05:14
我来回答
共5个回答
懂视网
时间:2022-04-06 09:36
php合并数组不覆盖的实现方法:首先创建一个PHP示例文件;然后定义两组数组;接着通过“$form_data1 + $form_data2;”方法合并数组;最后输出合并后的值即可。
推荐:《PHP视频教程》
合并数组并保留键值的方法:
<?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
)
使用 “+” 运算符合并数组,可以保留数组的键值,如果合并的数组中含有相同的键值,后面的不会覆盖前面的键值(前面的优先)。
热心网友
时间:2022-04-06 06:44
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]] = $value;
}
echo "<pre>";
print_r($arry_ab);
输出
Array
(
[0] => dongsir
[1] => 董先生
[2] => 董先生的CSDN博客
)
第二个方法:
php将两个键名和键值的数组元素合并为一个数组
php将两个键名和键值的数组元素合并
如果存在相同的键名,则可以这样来处理,我们参照第一个方法修改一下:
$arry_a = array("a", "a", "c");
$arry_b = array('dongsir','董先生','董先生的CSDN博客');
$arry_ab = [];
foreach ($arry_b as $key => $value) {
if (isset($arry_ab[$arry_a[$key]])) {
$arry_ab[$arry_a[$key]] = $arry_ab[$arry_a[$key]] . ",". $value;
}else{
$arry_ab[$arry_a[$key]] = $value;
}
}
echo "<pre>";
print_r($arry_ab);
输出:
Array
(
[a] => dongsir,董先生
[c] => 董先生的CSDN博客
)
热心网友
时间:2022-04-06 08:02
取消
首页
编程
手机
软件
硬件
安卓
苹果
手游
教程
平面
服务器
首页 > 网络编程 > PHP编程 > php实例 > php数组合并
php数组合并的二种方法
发布时间:2014-03-21 17:18:59 作者:
我们首先给出两个数组
复制代码 代码如下:
<?php
$r = array(1,2,3,4,5,6);
$e = array(7,8,9,10);
?>
下面我们用array_merge和加号来何必这两数组
复制代码 代码如下:
<?php
print_r($r+e); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) </span>
print "<br />";
print_r(array_merge($r,$e)); // 输出<span style="font-family: Simsun;font-size:16px; ">Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )</span>
?>
从这里可以看出,用array_merge合并数组一个数组中的值附加在前一个数组的后面。返回作为结果的数组如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 然而用加号来合并数组如果键名相同,则取最先出现的数组值,后面的就直接忽略掉
下面我们来改变下前面给出的数组
复制代码 代码如下:
<?php
$r = array('r'=>1,2,3,4,5,6);
$e = array(<span style="background-color: rgb(245, 250, 255); ">'r'=></span>7,8,9,10);
?>
复制代码 代码如下:
<?php
print_r($r+e); // 输出Array ( [r] => 1 [0] => 2 [1] => 3 [2] => 4 [3] => 5 [4] => 6 )
热心网友
时间:2022-04-06 09:36
使用PHP内置的array_combine()方法就好了
如下示例:
$arry_a = ['a','b','c'];
$arry_b = ['AA','BB','CC'];
var_mp(array_combine($arry_a, $arry_b));
追问这个方法我也知道
$arry_a = ['a','a','c']; 的话只能显示两个数组把
热心网友
时间:2022-04-06 11:28
<?php
$a = array('key1','key2');
$b = array('name1','name2');
$arr = array_combine($a,$b);
print_r($arr);