php - Json_encode() 在 PHP 5.1 中不起作用?

标签 php

<分区>

Possible Duplicate:
How can I decode json in PHP 5.1?

我正在使用 json_encode 函数,它在我的本地主机上工作正常...当我移动到服务器时它不起作用...我用谷歌搜索并发现它不支持 5.1 版本...我想使用这个函数。还有其他可能性吗?我是否需要升级到 5.2 或 wat?

最佳答案

这是我在 php 5.1 中成功使用的内容(摘自 http://www.php.net/json_encode 下的评论):

/**
 * Supplementary json_encode in case php version is < 5.2 (taken from http://gr.php.net/json_encode)
 */
if (!function_exists('json_encode'))
{
    function json_encode($a=false)
    {
        if (is_null($a)) return 'null';
        if ($a === false) return 'false';
        if ($a === true) return 'true';
        if (is_scalar($a))
        {
            if (is_float($a))
            {
                // Always use "." for floats.
                return floatval(str_replace(",", ".", strval($a)));
            }

            if (is_string($a))
            {
                static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
                return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
            }
            else
            return $a;
        }
        $isList = true;
        for ($i = 0, reset($a); $i < count($a); $i++, next($a))
        {
            if (key($a) !== $i)
            {
                $isList = false;
                break;
            }
        }
        $result = array();
        if ($isList)
        {
            foreach ($a as $v) $result[] = json_encode($v);
            return '[' . join(',', $result) . ']';
        }
        else
        {
            foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
            return '{' . join(',', $result) . '}';
        }
    }
}

关于php - Json_encode() 在 PHP 5.1 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684442/

相关文章:

php - 从动态选项列表提交值

具有多个 SQL 语句 : $db->Query() works, $this->db_sqlite->query() 的 PHP/SQLite 失败

javascript - 如何仅将 CSS 样式应用于选定的行?

php - PHP录制声音并使用progressbar上传php

java - 将json关联数组插入mysql

php - 如何在wordpress主页添加自定义图片框

php - 自定义错误处理程序函数中的error_level和error_message来自何处以及如何出现?

php - 如何从头开始在 Laravel 5.4 中实现 OAuth 2.0

php - 当html表单在php中提交时,如何将值添加到数组php文件中?

php - 阻止用户查看页面超过 3 次