php 递归json的类代码
下面给大家提供一个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; } } ?>
教程链接:http://www.phprm.com/code/58763.html
随意转载~但请保留教程地址★