当前位置:才华咖 > 互联网计算机 > 计算机 > php语言 > PHP如何递归实现json类
手机版

PHP如何递归实现json类

来源:才华咖 阅读:2.62W 次

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 = "{"($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 = "["($str,",")."]";

return $str;

}

//检验一个数组是不是严格数字索引

public function TypeArr($arr)

{

if(array_values($arr) === $arr) return true;

return false;

}

}

?>

本文链接:https://www.caihuaka.com/jsjzs/php/zl8vd3.html

Copyright © 2024. 才华咖 All right reserved. 浙ICP备20120231号-3

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。