我不知道如何编写以下代码。
$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在评论中说,您的查询返回结果数组。因此,如果您想访问第一个结果中的值,首先需要使用其索引来访问此结果:$listing[0]->listing_number
。
$rowID = $_POST['rowID'];
if ($listing = $Listings->getData($rowID)) {
$jsonArray = array(
'listing_number' => $listing[0]->listing_number,
);
exit(json_encode($jsonArray));
}
附注您可以使用简单的转换( $result = (array) $result
)将对象转换为数组,但这在您的情况下不是必须的。将对象转换为数组将允许您使用 result['key']
而不是 result->key
访问其数据。
关于php - json_encode 来自数据库的数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56078003/