输出为数组而不是对象?

Output as Array instead of object?

我有以下代码将数据输出为对象:

    <?php

require_once('DB.php');
include "/diska/www/include/coa123-13-connect.php"; //to provide $username1,$password1

$host='co-project.lboro.ac.uk';
$dbName='coa123wdb';
$db=DB::connect("mysql://$username1:$password1@$host/$dbName");

if(DB::isError($db)){die($db->getMessage());} 

$sql=$_REQUEST['sql'];

$db->setFetchMode(DB_FETCHMODE_ASSOC);

$results = $db->getAll($sql);
if (PEAR::isError($results)){die($results->getMessage());}

echo json_encode($results);

?>

输出如下:

[{"name":"Haslegrave Hotel","capacity":"200","weekend_price":"2000","weekday_price":"1500","licensed":"0","grade":"1","cost":"7"},{"name":"Forest Inn","capacity":"260","weekend_price":"1800","weekday_price":"1600","licensed":"1","grade":"1","cost":"6"},{"name":"Southwestern Estate","capacity":"500","weekend_price":"4000","weekday_price":"3000","licensed":"0","grade":"1","cost":"8"}]

我希望它输出为数组,如:

[["Haslegrave Hotel","200","2000","1500","0","1","7"],["Forest Inn","260","1800","1600","1","1","6"],["Southwestern Estate","500","4000","3000","0","1","8"]]

有什么想法可以改变这个吗?

json_encode 只是将您的数据转换为 json 表示形式,无论如何。将它输出为数组的唯一方法是让传递给 json_encode 的数组成为普通数组,没有字符串键。也就是说,不是关联数组。

我不知道这是否足够,但您可能只需更改获取模式即可: $db->setFetchMode(DB_FETCHMODE_ORDERED)