php专区

 首页 > php专区 > PHP应用 > php类库 > php 递归json的类代码 - php类库

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

分享到:
【字体:
导读:
          ?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. /*  
  2.  * @ anthor:QD 
  3.  * @ time:  2013-09-27 
  4.  */ 
  5. class json{ 
  6.   
  7.  private $Arr = array(); //传入数组 
  8.   
  9.  //构造器 
  10.  public function json($array
  11.  { 
  12.   if(!is_array($array)) return false; 
  13.   $this->Arr = $array
  14.  } 
  15.  //解析主函数 
  16.  public function MainArr() 
  17.  { 
  18.   $arr = $this->Arr; 
  19.   if($this->TypeArr($arr)) 
  20.   { 
  21.    $json = $this->NumArr($arr); 
  22.   } 
  23.   else 
  24.   { 
  25.    $json = $this->IndexArr($arr); 
  26.   } 
  27.   return $json
  28.   
  29.  } 
  30.  //解析索引数组 
  31.  public function IndexArr($arr
  32.  { 
  33.   $str =""
  34.   foreach($arr as $k=>$value
  35.   { 
  36.    if(is_array($value)) 
  37.    { 
  38.     if($this->TypeArr($value)) { $sun=$this->NumArr($value);} 
  39.     else               {$sun=$this->IndexArr($value);} 
  40.     if(strpos($sun,"}") || strpos($sun,"]")) 
  41.     { 
  42.      $str .= """.$k."":".$sun.","
  43.     } 
  44.     else 
  45.     { 
  46.      $str .= """.$k."":"".$sun."","
  47.     } 
  48.    } 
  49.    else 
  50.    { 
  51.      $str .= """.$k."":"".$value."","
  52.    } 
  53.   } 
  54.   $str = "{".trim($str,",")."}"
  55.   return $str
  56.  } 
  57.  //解析数字数组 
  58.  public function NumArr($arr)  
  59.  { 
  60.   $str = ""
  61.   foreach($arr as $value
  62.   { 
  63.    if(is_array($value)) 
  64.    { 
  65.     if($this->TypeArr($value)) { $sun=$this->NumArr($value);} 
  66.     else               {$sun=$this->IndexArr($value);} 
  67.     if(strpos($sun,"}") || strpos($sun,"]")) 
  68.     { 
  69.      $str .= $sun.","
  70.     } 
  71.     else 
  72.     { 
  73.      $str .= """.$sun."","
  74.     } 
  75.    } 
  76.    else 
  77.    { 
  78.     $str .= """.$value."","
  79.    } 
  80.   } 
  81.   $str = "[".trim($str,",")."]"
  82.   return $str
  83.  } 
  84.  //检验一个数组是不是严格数字索引    
  85.  public function TypeArr($arr
  86.  { 
  87.   if(array_values($arr) === $arrreturn true; 
  88.   return false; 
  89.  } 
  90.   
  91. ?> 
分享到:
php snoopy采集类(模拟浏览器)介绍 - php...
php snoopy采集类(模拟浏览器)介绍 Snoopy是一个用来模拟浏览器的一些简单功能的php类,可以获取网页内容,发送表单等操作,Snoopy正确运行需要你的服务器的PHP版本在4以上,并且支持PCRE(Perl Compatible Regular Expressions),基本的LAMP服务都支持,由于它本身是php一个类,无需扩支持,因此在服...
PHP货币换算程序代码 - php类库
PHP货币换算程序代码
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……