php语言

PHP如何递归实现json类

时间:2025-04-09 19:42:47 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.stringify03-07

PHP递归效率分析03-09

PHP中Json应用03-01

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

PHP中多态如何实现05-06

php如何实现快速排序04-03

php实现图片缩放功能类02-04

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

如何用PHP实现找回密码02-03