php递归json类实例_php教程-查字典教程网
php递归json类实例
php递归json类实例
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了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教程学习
    热门php教程学习
    编程开发子分类