【问题标题】:PHP 4.4.1 JSON ENCODEPHP 4.4.1 JSON 编码
【发布时间】:2012-01-22 16:51:08
【问题描述】:

我有一个 jQuery 登录表单,它使用 $post 函数将凭据发送到 php 脚本,该脚本会检查数据库中用户的凭据。

我一直在使用 PHP 5.2,并且一直在使用 echo json_encode($data);在我的 php 脚本中将错误消息发送回登录表单而没有任何问题。现在的问题是我有一个安装了 PHP 4.4.1 的客户端,它无法识别此命令并抛出以下错误。

致命错误:调用未定义函数:json_encode()

PHP 4.4.1 版本中是否有等效于 json_encode() 的方法?

任何帮助都会很棒。

提前致谢。

【问题讨论】:

标签: php jquery json encode php4


【解决方案1】:

您应该使用这个包装函数:http://www.boutell.com/scripts/jsonwrapper.html。对于这个解决方案,您需要做的就是include 那个 json_encode.php,它会做一个function_exists 检查。如果不存在,则添加该函数。

【讨论】:

    【解决方案2】:

    自 5.2.0 版起,PHP 核心就支持 JSON。所以你需要改用PECL::json

    另外,请考虑更新到 PHP5,因为对 PHP4 的支持自 2007-12-31 以来已停止,它可能存在未解决的安全问题。

    【讨论】:

      【解决方案3】:

      您可以使用Services_JSON(PEAR 的一部分),它与php4 兼容。如果您也无权访问它,那么恐怕您只需要编写自己的函数:

      function my_json_encode($arrayus) {
         $newarr = '{';
         foreach ($arrayus as $key => $val) {
            $newarr .= '"' . $key . '":"' . $val . '",';
         }
         $newarr = substr($newarr, 0, strlen($newarr) - 1);
         $newarr .= '}';
         return $newarr;
      }
      

      以上内容json_encode()兼容,但它可能适用于您的目的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 2012-05-11
        • 2016-08-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多