Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP json_编码到JS对象数组_Javascript_Php_Arrays_Json_Object - Fatal编程技术网

Javascript PHP json_编码到JS对象数组

Javascript PHP json_编码到JS对象数组,javascript,php,arrays,json,object,Javascript,Php,Arrays,Json,Object,我试图找出如何将PHP数组转换为json,转换为javascript对象数组: $latlng = array(); $properties = get_posts(array( 'posts_per_page' => -1, 'post_type' => array('house', 'townhouse', 'condo'), 'status' => 'publish' )); foreach ($pr

我试图找出如何将PHP数组转换为json,转换为javascript对象数组:

$latlng = array();
    $properties = get_posts(array(
        'posts_per_page' => -1,
        'post_type' => array('house', 'townhouse', 'condo'),
        'status' => 'publish'
    ));
    foreach ($properties as $prop) {
        $lat = get_field('latitude', $prop, false);
        $lng = get_field('longitude', $prop, false);
        array_push($latlng, array($lat, $lng));
    }

    echo json_encode($latlng);
    wp_die();
但我需要最终的JS数组如下所示:

locations = [
                    {lat: -31.563910, lng: 147.154312},
                    {lat: -33.718234, lng: 150.363181},
                    {lat: -33.727111, lng: 150.371124},
                    {lat: -33.848588, lng: 151.209834},
                    {lat: -33.851702, lng: 151.216968},
                    {lat: -34.671264, lng: 150.863657},
                    {lat: -35.304724, lng: 148.662905},
                    {lat: -36.817685, lng: 175.699196},
                    {lat: -36.828611, lng: 175.790222},
                    {lat: -37.750000, lng: 145.116667},
                    {lat: -37.759859, lng: 145.128708},
                    {lat: -37.765015, lng: 145.133858},
                    {lat: -37.770104, lng: 145.143299},
                    {lat: -37.773700, lng: 145.145187},
                    {lat: -37.774785, lng: 145.137978},
                    {lat: -37.819616, lng: 144.968119},
                    {lat: -38.330766, lng: 144.695692},
                    {lat: -39.927193, lng: 175.053218},
                    {lat: -41.330162, lng: 174.865694},
                    {lat: -42.734358, lng: 147.439506},
                    {lat: -42.734358, lng: 147.501315},
                    {lat: -42.735258, lng: 147.438000},
                    {lat: -43.999792, lng: 170.463352}
                ]

这就是我可以使用
locations.map(function(location,I){
来迭代边界。

您的
$latlng
是一个数组,您希望您的JSON是一个对象数组,包含
lat
lng
字段。因此您需要执行以下操作:

$latlng = array();
$properties = get_posts(array(
    'posts_per_page' => -1,
    'post_type' => array('house', 'townhouse', 'condo'),
    'status' => 'publish'
));
foreach ($properties as $prop) {
    $lat = get_field('latitude', $prop, false);
    $lng = get_field('longitude', $prop, false);
    array_push($latlng, array('lat' => $lat, 'lng' => $lng));
}

echo json_encode($latlng, JSON_NUMERIC_CHECK /* PHP >= 5.3.3 */);
wp_die();
我们只是推送了一个对象,而不是包含以下值的数组:

array\u push($latlng,array('lat'=>$lat,'lng'=>$lng));


希望有帮助。

您的
$latlng
是一个数组,您希望您的JSON是一个对象数组,包含
lat
lng
字段。因此您需要执行以下操作:

$latlng = array();
$properties = get_posts(array(
    'posts_per_page' => -1,
    'post_type' => array('house', 'townhouse', 'condo'),
    'status' => 'publish'
));
foreach ($properties as $prop) {
    $lat = get_field('latitude', $prop, false);
    $lng = get_field('longitude', $prop, false);
    array_push($latlng, array('lat' => $lat, 'lng' => $lng));
}

echo json_encode($latlng, JSON_NUMERIC_CHECK /* PHP >= 5.3.3 */);
wp_die();
我们只是推送了一个对象,而不是包含以下值的数组:

array\u push($latlng,array('lat'=>$lat,'lng'=>$lng));


希望有帮助。

这确实对我帮助很大。谢谢你指出我忘记添加的内容。但是,我如何将
纬度
经度
保留为数字,而不是转换为字符串?你可以使用
JSON\u NUMERIC\u CHECK
选项,如更新后的答案所示。这对我帮助很大。谢谢你指出我所做的忘记添加。但是,我如何将
纬度
经度
保留为数字,而不转换为字符串?您可以使用
JSON\u NUMERIC\u CHECK
选项,如更新的答案所示。