自己寫了個PHP結果集轉換成JSON格式的函數,可以直接調用:
復制代碼 代碼如下:
function RecordToJson($recordset)
{
$jstr='[';
while($rs = $recordset->Fetch())
{
//$nick = iconv("GBK",'utf-8',$rs['nick']);/*轉換為utf-8編碼*/
//TODO:遍歷結果集
$arr_keys=array_keys($rs);
$jstr=$jstr.'{';
for($i=0;$i<count($arr_keys);$i+=2)
{
//數據庫編碼為gbk,需要轉換編碼
//TODO;iconv("GBK",'utf-8',$rs['nick']);/*轉換為utf-8編碼*/
$key=iconv("GBK",'utf-8',$arr_keys[$i]);//$arr_keys[$i];
$value=iconv("GBK",'utf-8',$rs[$arr_keys[$i]]);//$rs[$arr_keys[$i]];
$jstr=$jstr.'"'.$key.'":"'.$value.'",';
}
$jstr=substr($jstr,0,strlen($jstr)-1);
$jstr=$jstr.'},';
}
$jstr=substr($jstr,0,strlen($jstr)-1);
$jstr=$jstr.']';
return $jstr;
}
PHP默認的結果集數組有數字索引,下面函數可以去除數字索引,只保留字段索引:
復制代碼 代碼如下:
function RebuilderRecord($recordset)
{
$row=0;
while($rs = $recordset->Fetch())
{
//TODO:遍歷結果集
$arr_keys=array_keys($rs);
for($i=0;$i<count($arr_keys);$i+=2)
{
$newrs[$row][$arr_keys[$i]]=$rs[$arr_keys[$i]];
}
$row++;
}
return $newrs;
}