输出为数组而不是对象?

时间:2016-04-03 16:46:36

标签: sql arrays json object pear

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

    <?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”,“持牌”:“0”,“等级”: “1”,“cost”:“7”},{“name”:“Forest Inn”,“capacity”:“260”,“weekend_price”:“1800”,“weekday_price”:“1600”,“license” :“1”,“等级”:“1”,“费用”:“6”},{“名称”:“西南地产”,“容量”:“500”,“weekend_price”:“4000”,“weekday_price “:” 3000" , “授权”: “0”, “等级”: “1”, “成本”: “8”}]

我希望它能像一个数组一样被输出:

  

[[“Haslegrave Hotel”,“200”,“2000”,“1500”,“0”,“1”,“7”],[“Forest Inn”,“260”,“1800”,“ 1600“,”1“,”1“,”6“],[”西南地产“,”500“,”4000“,”3000“,”0“,”1“,”8“]

任何想法如何改变这个?

1 个答案:

答案 0 :(得分:1)

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

我不知道它是否足够,但你可能只是改变了获取模式: $db->setFetchMode(DB_FETCHMODE_ORDERED)