我想合并两个数组,但是我想将1st index与1st和2nd与2nd合并,依此类推。
$latlong = office::select('latitude', 'longitude')->get();
foreach ($latlong as $l)
{
$lati = explode(',', $l->latitude);
$longi = explode(',', $l->longitude);
$result = array_merge($lati, $longi);
dd($result);
}
输出:
array:8 [▼
0 => "31.4824454"
1 => "31.4824454"
2 => "31.48306351"
3 => ""
4 => "74.3270004"
5 => "74.31525707"
6 => "74.31045055"
7 => ""
]
答案 0 :(得分:0)
您可以使用array_map()来连接两个这样的数组的值
$latlong = office::select('latitude', 'longitude')->get();
foreach ($latlong as $l)
{
$lati = explode(',', $l->latitude);
$longi = explode(',', $l->longitude);
$result = array_map(
function($lat, $long) {
return $lat . ", " . $long;
},
$lati,
$longi
)
dd($result);
}
答案 1 :(得分:-1)
您应该遍历一个数组并获取两个数组的结果
$results = [];
for($i = 0; $i<sizeof($lati);$i++){
$result[] = [
'lat' => $lati[$i],
'lng' => $longi[$i],
]
}
这将为您提供纬度长的数组
答案 2 :(得分:-1)
使用以下内容:
$coordinates = office::select('latitude', 'longitude')->get();
$result = [];
foreach ($coordinates as $c) {
$result[] = $c->latitude . ', ' . $c->longitude;
}
dd($result);
$ coordinates中的每一行都是一个既具有经度又具有纬度的对象,因此您只需要遍历它,然后将它们存储在新的结果数组中即可。