国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php遞歸json類實例

2024-05-04 23:28:29
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php遞歸json類的實現方法,可以實現對索引數組及數字數組的解析,進而實現遞歸數組返回json字符串的功能,需要的朋友可以參考下
 
 

本文實例講述了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; 
 } 

?>

 

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浮梁县| 车致| 海门市| 读书| 普洱| 南开区| 河南省| 弋阳县| 自贡市| 唐河县| 筠连县| 临洮县| 旺苍县| 阳西县| 丹江口市| 荥阳市| 广宗县| 文水县| 辉县市| 上虞市| 吉林市| 吴堡县| 逊克县| 临高县| 山东| 广西| 米脂县| 雷山县| 托克逊县| 扎鲁特旗| 周宁县| 瑞金市| 铜鼓县| 迁西县| 大港区| 厦门市| 宿松县| 宿松县| 内丘县| 西乡县| 东方市|