加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php json转换成数组形式代码分享

发布时间:2020-12-13 02:08:56 所属栏目:PHP教程 来源:网络整理
导读:《php json转换成数组形式代码分享》要点: 本文介绍了php json转换成数组形式代码分享,希望对您有用。如果有疑问,可以联系我们。 写的json转换成数组的一个类和办法,实际上写的办法可以把大部分包含json字符串的数据结构转换成数组,上代码: PHP编程 代码

《php json转换成数组形式代码分享》要点:
本文介绍了php json转换成数组形式代码分享,希望对您有用。如果有疑问,可以联系我们。

写的json转换成数组的一个类和办法,实际上写的办法可以把大部分包含json字符串的数据结构转换成数组,上代码:PHP编程

代码如下:

class antiTranJson
{
? protected? static function jsonToArray($json)
? {
??? if(!is_string($json) || is_null(json_decode($json,true)))
????? throw new NotJsonStringException('param is not a json string');
??? $deJson = json_decode($json,true);
??? return self::toArray($deJson);
? }

? protected? static function stdClassToArray($stds)
? {
??? if(is_object($stds))
????? throw new NotObjectException('params not object');
??? $params = get_object_vars($stds);
??? return self::toArray($params);
? }PHP编程

? protected? static function arrayRToArray($params)
? {
??? $tmp = array();
??? if(!is_array($params))
????? throw new NotArrayException('params not array');
??? foreach($params as $k=>$v)
??? {
????? $tmp[$k] = self::toArray($v);
??? }
??? //var_dump($tmp);
??? return $tmp;
? }PHP编程

? //调用这个办法,包含json的数据均可以被转换
? public static function toArray($params)
? {
??? $tmp = array();
??? if(is_string($params) && !is_null(json_decode($params)))
????? $tmp = self::jsonToArray($params);
??? elseif(is_array($params))
????? $tmp = self::arrayRToArray($params);
??? //这里注意一下,假如$params 是一个对象,只有包含的属性是可读取(public或者临时的对象属性)的时候才能实现转换
??? elseif(is_object($params))
????? $tmp = self::stdClassToArray($params);
??? else
????? $tmp = $params;
??? return $tmp;
? }
PHP编程


以上便是相关代码,至少目前用的时候还是可以得,如果各位有好的建议,希望大家讨论讨论,共同进步,谢谢

编程之家培训学院每天发布《php json转换成数组形式代码分享》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读