我可以知道如何从数据库中检索json中的值仅数组而不是PHP中的整个json对象吗?
<?php
require_once('dbConnect.php');
$sql = "SELECT RestaurantName FROM Restaurant";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
$restaurantArray = array();
while($rows = mysqli_fetch_assoc($result)) {
$restaurantArray[] = $rows;
}
echo json_encode($restaurantArray);
mysqli_close($connection);
?>
例如,
["Afonso Cláudio", "Água Doce do Norte"]
而不是
[{"city":"Afonso Cláudio"},{"city":"Água Doce do Norte"}]
答案 0 :(得分:0)
你改变这一行怎么样:
$restaurantArray[] = $rows;
使用:
$restaurantArray[] = $rows['city']; // (or 'RestaurantName')
答案 1 :(得分:0)
当从数据库中获取数据为assoc
时,您将获得一个关联数组(当转换为json时将成为json对象)作为结果。
您当前正在做的是将行(具有一个键值的关联数组)添加到结果数组中。如果仅想要城市,您可以轻松地从关联数组中获取该数据
改变
$restaurantArray[] = $rows;
到
$resturantArray[] = $rows['city'];
应该做的伎俩。
此外,如果您想重新格式化结果中的数据,而不只是将城市名称推送到该结果,则可以使用array_map
来电:
$result = array_map(function($assocArr) {
return $assocArr['city']; // Or whatever you want the value to be.
},
$resturantArray);
echo json_encode($result);