php - json_encode 数据库中的数据数组
问题描述
我不确定如何编写以下代码。
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing['listing_number'],
);
exit(json_encode($jsonArray));
}
当我这样做时,响应是未定义索引:listing_number。
但是,如果我这样写,
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing[0],
);
exit(json_encode($jsonArray));
}
回应是
{"listing_number":{"id":"24","client_id":"1","address":"","address_2":"","city":"","state":"","zip":"","price":"","listing_number":"asdasdasdasd","remarks":"","link":"","status":"","bd":"","ba":"","lot_sz":"","sq_ft":"","yr":"","type":"","thumb":""}}
这让我知道我的 SQL 和 PHP 是正确的,我只是不知道如何$listing['listing_number]
正确访问。
任何帮助,将不胜感激。
解决方案
正如GrumpCrouton在评论中所说,您的查询正在返回一组结果。所以如果你想访问第一个结果中的一个值,你首先需要使用它的 index 来访问这个结果:$listing[0]->listing_number
。
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing[0]->listing_number,
);
exit(json_encode($jsonArray));
}
PS您可以使用简单的强制转换($result = (array) $result
)将对象转换为数组,但在您的情况下不是必须的。将您的对象转换为数组将允许您使用result['key']
而不是访问它的数据result->key
。
推荐阅读
- animation - 在 Flutter 动画中更新动画值的正确方法是什么?
- php - PHP 从不同的字符串格式创建日期
- oracle - 如何在oracle中指定要写入一个csv文件的最大行数?
- javascript - 获取 Geopoint 时打字稿错误,意外的“,”
- nativescript - VideoPlayer 高度适合内容/无黑条
- python - 计算线性回归线周围的置信区间
- ios - 选择为 UISegmentedControl 选择哪种情况
- c# - 扫描对象列表并比较对象值
- r - ggplot 直方图作为特定组的百分比
- excel - 如何修复此 SlicerCache 对象错误?