php递归json类实例
发布于:2022-01-11 10:14:54 栏目:技术文档
本文实例讲述了php递归json类的实现方法。分享给大家供大家参考。
具体实现代码如下:
复制代码 代码如下:
<?php/*
- @ anthor:QD
- @ time: 2013-09-27*/class json{private $Arr = array(); //传入数组//构造器public function json($array){if(!is_array($array)) return false;$this->Arr = $array;}//解析主函数public function MainArr(){$arr = $this->Arr;if($this->TypeArr($arr)){$json = $this->NumArr($arr);}else{$json = $this->IndexArr($arr);}return $json;}//解析索引数组public function IndexArr($arr){$str =””;foreach($arr as $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;}//解析数字数组public function NumArr($arr){$str = “”;foreach($arr as $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;}//检验一个数组是不是严格数字索引public function TypeArr($arr){if(array_values($arr) === $arr) return true;return false;}}?>
相关推荐
阅读 +