手机
当前位置:查字典教程网 >编程开发 >php教程 >php递归json类实例
php递归json类实例
摘要:本文实例讲述了php递归json类的实现方法。分享给大家供大家参考。具体实现代码如下:复制代码代码如下:Arr=$array;}//解析主函...

本文实例讲述了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程序设计有所帮助。

【php递归json类实例】相关文章:

PHP 反射(Reflection)使用实例

php中smarty模板条件判断用法实例

php实现简单的语法高亮函数实例分析

php实现的mongodb操作类

php实现的mongodb操作类实例

php备份数据库类分享

php简单smarty入门程序实例

php正则preg_replace_callback函数用法实例

php中memcache 基本操作实例

php遍历CSV类实例

精品推荐
分类导航