gpt4 book ai didi

PHP MySQL 和 json_encode 在值周围没有引号?

转载 作者:行者123 更新时间:2023-11-29 07:35:12 25 4
gpt4 key购买 nike

我有一个正在运行查询的 MySql 表

<?php
// Make a MySQL Connection
mysql_connect("localhost", "user", "pass") or die(mysql_error());
mysql_select_db("GPS") or die(mysql_error());

// Get all the data from the "example" table
$myquery = "SELECT * FROM GPSCoords";
$query = mysql_query($myquery) or die(mysql_error());
$data = array();

for ($x =0; $x < mysql_num_rows($query); $x++){
$data[] = mysql_fetch_assoc($query);
}

echo json_encode($data);
?>

返回的json是这样的:

[
{
"Row": "01SS",
"Number": "1E",
"Latitude": "33.39064308000000",
"Longitude": "-121.918467900",
"LatLong": "[33.39064308000000,-121.918467900]"
}
]

我该如何获取不带引号的 LatLong 值?

[
{
"Row": "01SS",
"Number": "1E",
"Latitude": "33.39064308000000",
"Longitude": "-121.918467900",
"LatLong": [
33.39064308000000,
-121.918467900
]
}
]

最佳答案

像这样强制它:

while ($row = mysql_fetch_assoc($result)) {
$row["Latitude"] = floatval($row["Latitude"]);
$row["Longitude"] = floatval($row["Longitude"]);
$data[] = $row;
}

至于

"LatLong": "[33.39064308000000,-121.918467900]"

这很奇怪,看起来您将此 JSON 数组作为字符串存储在数据库中。

你可以这样做:

$latLong = json_decode($row["LatLong"], true);
$row["LatLong"] = array(floatval($latLong[0]), floatval($latLong[1]));

关于PHP MySQL 和 json_encode 在值周围没有引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31058647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com