php递归json类实例
本文实例讲述了php递归json类的实现方法。分享给大家供大家参考。
具体实现代码如下:
<?php /* *@anthor:QD *@time: 2013-09-27 */ classjson{ private$Arr=array();//传入数组 //构造器 publicfunctionjson($array) { if(!is_array($array))returnfalse; $this->Arr=$array; } //解析主函数 publicfunctionMainArr() { $arr=$this->Arr; if($this->TypeArr($arr)) { $json=$this->NumArr($arr); } else { $json=$this->IndexArr($arr); } return$json; } //解析索引数组 publicfunctionIndexArr($arr) { $str=""; foreach($arras$k=>$value) { if(is_array($value)) { if($this->TypeArr($value)){$sun=$this->NumArr($value);} else {$sun=$this->IndexArr($value);} if(strpos($sun,"}")||strpos($sun,"]")) { $str.=""".$k."":".$sun.","; } else { $str.=""".$k."":"".$sun."","; } } else { $str.=""".$k."":"".$value."","; } } $str="{".trim($str,",")."}"; return$str; } //解析数字数组 publicfunctionNumArr($arr) { $str=""; foreach($arras$value) { if(is_array($value)) { if($this->TypeArr($value)){$sun=$this->NumArr($value);} else {$sun=$this->IndexArr($value);} if(strpos($sun,"}")||strpos($sun,"]")) { $str.=$sun.","; } else { $str.=""".$sun."","; } } else { $str.=""".$value."","; } } $str="[".trim($str,",")."]"; return$str; } //检验一个数组是不是严格数字索引 publicfunctionTypeArr($arr) { if(array_values($arr)===$arr)returntrue; returnfalse; } } ?>
希望本文所述对大家的PHP程序设计有所帮助。