推送数组数据

时间:2015-04-18 06:29:30

标签: php arrays

我有一个数组数据,我想像这样推送数据:
new LatLng([ 'lat' => -8.3901371, 'lng' => 115.211049 ]),new LatLng([ 'lat' => -8.3901953, 'lng' => 115.2110649 ]),new LatLng([ 'lat' => -8.3902752, 'lng' => 115.2110648 ]),

然后我写这样的代码:

$paths=[];
foreach ($data as $value){
    $koord = "new LatLng([
        'lat' => $value->wilayah_lat,
        'lng' => $value->wilayah_lng
    ]),";
    array_push($paths, $koord);      
 }

然后,我想使用print_r($paths)访问$ path,我总是得到这样的数据:
Array ( [0] => new LatLng([ 'lat' => -8.3901371, 'lng' => 115.211049 ]), [1] => new LatLng([ 'lat' => -8.3901953, 'lng' => 115.2110649 ]), [2] => new LatLng([ 'lat' => -8.3902752, 'lng' => 115.2110648 ]),

我的问题是,如何在变量$paths上访问该数据数组看起来像我想要的那样?

4 个答案:

答案 0 :(得分:1)

它仍处于数组形式,这就是为什么当你print_r它时,它仍然有它所显示的数字索引。要么implode最后一个数组:

foreach ($data as $value){
    $koord = "new LatLng([
        'lat' => $value->wilayah_lat,
        'lng' => $value->wilayah_lng
    ])";
    $paths[] = $koord;      
}

$paths = implode(', ', $paths);
echo $paths;

或者将$paths作为字符串进行/初始化,然后继续追加/连接循环中的其余字符串:

$paths = '';
foreach ($data as $value){
    $paths .= "new LatLng([
        'lat' => $value->wilayah_lat,
        'lng' => $value->wilayah_lng
    ]),";     
}

$paths = rtrim($paths, ','); // remove excess/last comma
echo $paths;

答案 1 :(得分:1)

  

使用键存储数据的数组。所以您的数组看起来像Array ([0] => 'value ,...)

如果你想要普通字符串,请使用此代码

implode(',',$array);

答案 2 :(得分:1)

您可以将implode用于此

 $paths=[];
    foreach ($data as $value){
        $koord = "new LatLng([
            'lat' => $value->wilayah_lat,
            'lng' => $value->wilayah_lng
        ])";                                    // remove the , from here .
        array_push($paths, $koord);      
     }

    echo implode(',',$paths);

答案 3 :(得分:-1)

要获得您想要的效果,请从数组中检索数据:

foreach($paths as $path){

    echo $path; 

}

$ paths 是您要从中检索数据的数组。