如何合并一个数组的第一个索引与另一个数组的第一个索引

时间:2019-08-30 11:31:15

标签: php laravel

我想合并两个数组,但是我想将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 => ""
]

3 个答案:

答案 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中的每一行都是一个既具有经度又具有纬度的对象,因此您只需要遍历它,然后将它们存储在新的结果数组中即可。