當前位置:學者齋 >

計算機 >php語言 >

PHP如何遞歸實現json類

PHP如何遞歸實現json類

PHP如何遞歸實現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 = "{"($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 = "["($str,",")."]";

return $str;

}

//檢驗一個數組是不是嚴格數字索引

public function TypeArr($arr)

{

if(array_values($arr) === $arr) return true;

return false;

}

}

?>

標籤: PHP JSON 遞歸
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/jsj/php/oo0q3v.html