【发布时间】:2020-10-15 22:03:53
【问题描述】:
在 php 中,我收集 geocoords 并围绕它们。转储的结果符合预期:
Array(
[0] => Array
(
[0] => 37.76073
[1] => -122.439948
)
[1] => Array
(
[0] => 37.973535
[1] => -122.531087
)
[2] => Array
(
[0] => 37.973535
[1] => -122.531087
)
)
( 重复也是预期的。) 然后我将它们传递给 javascript 以在地图上使用:
var locations = <?php echo json_encode( $geo_locations ); ?>;
但是当我将位置记录到控制台时,第二个元素的值发生了变化:
0: (2) [37.76073, -122.439948]
1: (2) [37.97368106291033, -122.53094093708967]
2: (2) [37.973535, -122.531087]
我以前从未见过这种行为。是因为json_encode吗?还是别的什么?
【问题讨论】:
-
似乎 json_encoders 更喜欢字符串。对浮点数进行编码可能会产生“意外”结果。
标签: javascript php arrays