php语言 百分网手机站

PHP如何递归实现json类

时间:2020-10-17 16:22:24 php语言 我要投稿

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 = "{".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如何递归实现json类】相关文章:

1.PHP中Json应用

2.php如何实现快速排序

3.如何用PHP实现找回密码

4.php如何实现验证码

5.php递归函数三种方式

6.在PHP语言中使用JSON

7.PHP弱类型变量是如何实现的

8.php代码如何实现命令行执行

9.PHP如何通过会话控制实现身份验证