网站地图    收藏   

主页 > php专栏 > php类库 >

php 递归json的类代码 - php类库

来源:自学PHP网    时间:2014-11-30 12:53 作者: 阅读:

[导读] ?php **@anthor:QD*@time:2013-09-27* classjson{private$Arr=array(); 传入数组 构造器publicfunctionjson($array){if(!is_array($array))returnfalse;$this-Arr=$array;} 解析主函数publicf...

php 递归json的类代码

  1. <?php 
  2. /*  
  3.  * @ anthor:QD 
  4.  * @ time:  2013-09-27 
  5.  */ 
  6. class json{ 
  7.   
  8.  private $Arr = array(); //传入数组 
  9.   
  10.  //构造器 
  11.  public function json($array
  12.  { 
  13.   if(!is_array($array)) return false; 
  14.   $this->Arr = $array
  15.  } 
  16.  //解析主函数 
  17.  public function MainArr() 
  18.  { 
  19.   $arr = $this->Arr; 
  20.   if($this->TypeArr($arr)) 
  21.   { 
  22.    $json = $this->NumArr($arr); 
  23.   } 
  24.   else 
  25.   { 
  26.    $json = $this->IndexArr($arr); 
  27.   } 
  28.   return $json
  29.   
  30.  } 
  31.  //解析索引数组 
  32.  public function IndexArr($arr
  33.  { 
  34.   $str =""
  35.   foreach($arr as $k=>$value
  36.   { 
  37.    if(is_array($value)) 
  38.    { 
  39.     if($this->TypeArr($value)) { $sun=$this->NumArr($value);} 
  40.     else               {$sun=$this->IndexArr($value);} 
  41.     if(strpos($sun,"}") || strpos($sun,"]")) 
  42.     { 
  43.      $str .= """.$k."":".$sun.","
  44.     } 
  45.     else 
  46.     { 
  47.      $str .= """.$k."":"".$sun."","
  48.     } 
  49.    } 
  50.    else 
  51.    { 
  52.      $str .= """.$k."":"".$value."","
  53.    } 
  54.   } 
  55.   $str = "{".trim($str,",")."}"
  56.   return $str
  57.  } 
  58.  //解析数字数组 
  59.  public function NumArr($arr)  
  60.  { 
  61.   $str = ""
  62.   foreach($arr as $value
  63.   { 
  64.    if(is_array($value)) 
  65.    { 
  66.     if($this->TypeArr($value)) { $sun=$this->NumArr($value);} 
  67.     else               {$sun=$this->IndexArr($value);} 
  68.     if(strpos($sun,"}") || strpos($sun,"]")) 
  69.     { 
  70.      $str .= $sun.","
  71.     } 
  72.     else 
  73.     { 
  74.      $str .= """.$sun."","
  75.     } 
  76.    } 
  77.    else 
  78.    { 
  79.     $str .= """.$value."","
  80.    } 
  81.   } 
  82.   $str = "[".trim($str,",")."]"
  83.   return $str
  84.  } 
  85.  //检验一个数组是不是严格数字索引    
  86.  public function TypeArr($arr
  87.  { 
  88.   if(array_values($arr) === $arrreturn true; 
  89.   return false; 
  90.  } 
  91.   
  92. ?> 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论