《PHP編程:php遞歸json類(lèi)實(shí)例》要點(diǎn):
本文介紹了PHP編程:php遞歸json類(lèi)實(shí)例,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
本文實(shí)例講述了php遞歸json類(lèi)的實(shí)現(xiàn)辦法.分享給大家供大家參考.PHP編程
具體實(shí)現(xiàn)代碼如下:PHP編程
代碼如下:
<?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;
?}
?//檢驗(yàn)一個(gè)數(shù)組是不是嚴(yán)格數(shù)字索引???
?public function TypeArr($arr)
?{
? if(array_values($arr) === $arr) return true;
? return false;
?}
}
?>
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所贊助.PHP編程
歡迎參與《PHP編程:php遞歸json類(lèi)實(shí)例》討論,分享您的想法,維易PHP學(xué)院為您提供專(zhuān)業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13504.html