《PHP編程:php遞歸json類實例》要點:
本文介紹了PHP編程:php遞歸json類實例,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了php遞歸json類的實現辦法.分享給大家供大家參考.PHP編程
具體實現代碼如下:PHP編程
代碼如下:
<?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程序設計有所贊助.PHP編程
歡迎參與《PHP編程:php遞歸json類實例》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/13504.html