PHP数据集构建JSON格式及新数组的方法

yipeiwu_com5年前PHP代码库
自己写了个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;
}

相关文章

php中__destruct与register_shutdown_function执行的先后顺序问题

根据php手册的解析。 __destruct是 析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。 而register_shutdown_function是 Regis...

php下判断数组中是否存在相同的值array_unique

array_unique(PHP 4 >= 4.0.1, PHP 5) array_unique -- 移除数...

PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)

本文实例讲述了PHP日期与时间操作技巧。分享给大家供大家参考,具体如下: Demo1.php <?php //验证时间 //checkdate() 1.月份 2.日...

php中DOMElement操作xml文档实例演示

复制代码 代码如下: <?php //Store your html into $html variable. $html="<html> <head> &...

php防止伪造数据从地址栏URL提交的方法

针对伪造的数据从URL提交的情况,首先是一个检查前一页来源的如下代码: <?/*PHP防止站外提交数据的方法*/ function CheckURL(){ $serve...