[英]PHP - Merge looped arrays into one
I have two result set from database first one is : 我有两个来自数据库的结果集,第一个是:
Array(
[0] => Array([vehicle] => BUS NO.1 )
[1] => Array([vehicle] => BUS NO.2)}
second one is : 第二个是:
Array([0] => Array(
[trip_name] => Trip00011
[running_km] => 5000)
[1] => Array(
[trip_name] => Trip00021
[running_km] => 2400))
I want to merge these arrays like following array: 我想像下面的数组一样合并这些数组:
Array([0] => Array(
[vehicle] => BUS NO.1
[trip_name] => Trip00011
[running_km] => 5000 )
[1] => Array(
[vehicle] => BUS NO.2
[trip_name] => Trip00011
[running_km] => 5000)
[2] => Array(
[vehicle] => BUS NO.1
[trip_name] => Trip00021
[running_km] => 2400 )
[3] => Array(
[vehicle] => BUS NO.2
[trip_name] => Trip00021
[running_km] => 2400))
Actually, this is my question.Could you please help me to do this 其实这是我的问题,请您帮我做一下
Given these following arrays 给定以下数组
$array1=Array(
0 => Array('vehicle' => 'BUS NO.1' ),
1 => Array('vehicle' => 'BUS NO.2')
);
$array2=Array(
0 => Array(
'trip_name' => 'Trip00011',
'running_km' => 5000),
1 => Array(
'trip_name' => 'Trip00021',
'running_km' => 2400)
);
You can obtain the expected output using either the simplest way 您可以使用最简单的方法获得预期的输出
foreach($array2 as $val){
foreach($array1 as $v){
$result[]=$v+$val;
}
}
or the complex(maybe the worst) way: 或复杂的(也许是最坏的)方式:
!($result=[])?array_map(function($a) use ($array1,&$result){ $result=array_merge($result,array_map(function($val)use($a){ return $val+$a;},$array1));},$array2):[];
ouput: 输出继电器:
array(4) {
[0]=>
array(3) {
["vehicle"]=>
string(8) "BUS NO.1"
["trip_name"]=>
string(9) "Trip00011"
["running_km"]=>
int(5000)
}
[1]=>
array(3) {
["vehicle"]=>
string(8) "BUS NO.2"
["trip_name"]=>
string(9) "Trip00011"
["running_km"]=>
int(5000)
}
[2]=>
array(3) {
["vehicle"]=>
string(8) "BUS NO.1"
["trip_name"]=>
string(9) "Trip00021"
["running_km"]=>
int(2400)
}
[3]=>
array(3) {
["vehicle"]=>
string(8) "BUS NO.2"
["trip_name"]=>
string(9) "Trip00021"
["running_km"]=>
int(2400)
}
}
you can use array_merge. 您可以使用array_merge。 array_merge(array1, array2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.