自己写了个 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{
- // 数据库编码为 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{
- $newrs[$row][$arr_keys[$i]]=$rs[$arr_keys[$i]];
- }
- $row++;
- }
- return $newrs;
- }
来源: https://www.php1.cn/detail/php-f25adcf740.html