php5.2以下版本无json_decode函数的解决方法

yipeiwu_com6年前PHP代码库
今天写代码的时候,需要用到json_decode函数,发现php5.2以前的版本没有集成这个函数,不过我们可以通过自定义函数实现。

复制代码 代码如下:

function json_decode2($json)
{
$comment = false;
$out = '$x=';

for ($i=0; $i<strlen($json); $i++)
{
if (!$comment)
{
if (($json[$i] == '{') || ($json[$i] == '[')) $out .= ' array(';
else if (($json[$i] == '}') || ($json[$i] == ']')) $out .= ')';
else if ($json[$i] == ':') $out .= '=>';
else $out .= $json[$i];
}
else $out .= $json[$i];

if ($json[$i] == '"' && $json[($i-1)]!="\\") $comment = !$comment;
}

    eval($out . ';');
return $x;
}

不过这个返回的是Array

要返回object 则要用到 service_json类了

相关文章

PHP 开发环境配置(Zend Server安装)

PHP 开发环境配置(Zend Server安装)

    这里不做改动,维持默认选择即可     点击Browse按钮更改安装目录为D盘     更改Web Server...

Thinkphp中的curd应用实用要点

这个主要闲的没事给大家写一下curd的具体应用,当然这里边主要讲curd,我做的是用户的增删改查,没有用三大自动 首先 复制代码 代码如下: class IndexAction exte...

PHP中余数、取余的妙用

<?php $ary=array("name","egineer","sonny","tonny","pingk","apple","phone","clone",...

php.ini修改php上传文件大小限制的方法详解

打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方...

非常好用的两个PHP函数 serialize()和unserialize()

今天,在做一个关于PING服务的东西,由于不想把ping服务地址放进数据库中,那样不好,ping服务本来不是一个效率不高的事,再放进数据库中,不但更加降低了程序的效率,还给服务器带来不必...