php语言

PHP如何递归实现json类

时间:2024-06-27 13:42:22 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类】相关文章:

JavaScript如何实现JSON.stringify09-19

PHP递归效率分析08-25

PHP中多态如何实现09-04

如何实现java汉诺塔递归算法09-20

php实现图片缩放功能类08-17

php如何实现验证码06-13

PHP中如何实现crontab代码05-30

如何实现PHP图片裁剪与缩放07-13

PHP实现RSA加密类的实例解析08-23

php递归遍历多维数组的方法10-06