欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php遞歸json類實例

 更新時間:2014年12月02日 14:20:16   投稿:shichen2014  
這篇文章主要介紹了php遞歸json類的實現(xiàn)方法,可以實現(xiàn)對索引數(shù)組及數(shù)字?jǐn)?shù)組的解析,進(jìn)而實現(xiàn)遞歸數(shù)組返回json字符串的功能,需要的朋友可以參考下

本文實例講述了php遞歸json類的實現(xiàn)方法。分享給大家供大家參考。

具體實現(xiàn)代碼如下:

復(fù)制代碼 代碼如下:
<?php
/* 
 * @ anthor:QD
 * @ time:  2013-09-27
 */
class json{
 private $Arr = array(); //傳入數(shù)組
 //構(gòu)造器
 public function json($array)
 {
  if(!is_array($array)) return false;
  $this->Arr = $array;
 }
 //解析主函數(shù)
 public function MainArr()
 {
  $arr = $this->Arr;
  if($this->TypeArr($arr))
  {
   $json = $this->NumArr($arr);
  }
  else
  {
   $json = $this->IndexArr($arr);
  }
  return $json;
 }
 //解析索引數(shù)組
 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;
 }
 //解析數(shù)字?jǐn)?shù)組
 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;
 }
 //檢驗一個數(shù)組是不是嚴(yán)格數(shù)字索引   
 public function TypeArr($arr)
 {
  if(array_values($arr) === $arr) return true;
  return false;
 }
}
?>

希望本文所述對大家的PHP程序設(shè)計有所幫助。

相關(guān)文章

最新評論