Php 如何将两个数组合并为一个
我看过这个网站,发现了一些合并数组的例子,但老实说,我不确定哪一个适合我 我很难合并这些数组。我尝试了数组合并和数组合并,但我没有任何运气 我需要的是一个输出如下的单个数组:Php 如何将两个数组合并为一个,php,Php,我看过这个网站,发现了一些合并数组的例子,但老实说,我不确定哪一个适合我 我很难合并这些数组。我尝试了数组合并和数组合并,但我没有任何运气 我需要的是一个输出如下的单个数组: Array ( [0] => Array ( [UnitNo] => 91 [Name] => Receiving [ActivityNo] => [Active] => 2
Array
(
[0] => Array
(
[UnitNo] => 91
[Name] => Receiving
[ActivityNo] =>
[Active] => 2
[CallNo] =>
[CallStatusNo] =>
[Assigned] =>
[UnitId] => 2
)
[1] => Array
(
[UnitNo] => 83
[Name] => Shipping
[ActivityNo] =>
[Active] =>
[CallNo] =>
[CallStatusNo] =>
[Assigned] =>
[UnitId] => 1
)
)
这两个数组是我需要根据UnitId
合并在一起的,它应该形成一个完整的数组,就像上面的数组一样。我只是不知道怎么做。如果有人能给我指点方向,我将不胜感激
// Array #1
Array
(
[0] => Array
(
[UnitId] => 2
[UnitNo] => 91
[Name] => Receiving
[Active] => 4
)
[1] => Array
(
[UnitId] => 1
[UnitNo] => 83
[Name] => Shipping
[Active] => 4
)
)
// Array #2
Array
(
[0] => Array
(
[UnitId] => 2
[ActivityNo] => 1
[CallNo] => 1
[CallStatusNo] => 1
[Assigned] => 1
)
[1] => Array
(
[UnitId] => 1
[ActivityNo] => 11
[CallNo] => 2
[CallStatusNo] => 1
[Assigned] => 1
)
)
在这种情况下,您不能只使用php函数并将其称为好函数——您必须自己做一些自定义逻辑 这是可行的,但前提是
$array1
和$array2
在每个索引中都有相同的项
$array1;
$array2;
$mergedArray;
for ($i=0; $i++; $i < count($array1) - 1) {
//first add all the values from array1
$mergedArray[$i] = $array1[$i];
foreach($array2[$i] as $array2Key=>$array2Value){
//now check for missing key/values that are in array2 but not in array1
if (array_key_exists($array2Key, $array1[$i]) == false) {
// the key does not exist in array1, so add it to mergedArray
$mergedArray[$i][$array2Key] = $array2Value;
}
}
}
$array1;
$array2;
$Darray;
对于($i=0;$i++;$i$array2Value){
//现在检查是否缺少array2中但不在array1中的键/值
如果(array_key_存在($array2Key,$array1[$i])==false){
//该键在array1中不存在,因此将其添加到mergedArray
$mergedArray[$i][$array2Key]=$array2Value;
}
}
}
如果您的数组是关联数组,并由唯一值索引,则会更安全。您应该查看文档:@demonofnight,谢谢。如果array_merge对我有效,那么我将进一步研究该函数。我只是想确定它能满足我的需要。谢谢谢谢你的回答,BDF