PHP数据集构建JSON格式及新数组的方法
程序员文章站
2022-03-31 22:42:26
自己写了个php结果集转换成json格式的函数,可以直接调用:复制代码 代码如下:function recordtojson($recordset) { $jstr='['...
自己写了个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;
}
复制代码 代码如下:
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;
}