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多文件上传实例

本文实例讲述了PHP多文件上传的方法。分享给大家供大家参考。具体如下: <?php define('ROOT','D:/Program Files/www/test/'...

php延迟静态绑定实例分析

本文实例讲述了php延迟静态绑定的方法。分享给大家供大家参考。具体分析如下: php延迟静态绑定:指类的self,不是以定义时为准,而是以计算时的运行结果为准。先看一个实例 <...

php引用返回与取消引用的详解

一、引用返回引用返回用在当想用函数找到引用应该被绑定在哪一个变量上面时。不要用返回引用来增加性能,引擎足够聪明来自己进行优化。仅在有合理的技术原因时才返回引用!要返回引用,使用此语法:复...

PHP运行出现Notice : Use of undefined constant 的完美解决方案分享

Notice: Use of undefined constant ALL_PS - assumed 'ALL_PS' in E:\Server\vhosts\www.lvtao.net...

php中将网址转换为超链接的函数

复制代码 代码如下: function showtext($text){ $search = array('|(http://[^ ]+)|', '|(https://[^ ]+)|',...