2011-12-17 35 views
3

我有一个jQuery登录表单,它使用$ post函数向php脚本发送凭证,以便检查数据库中用户的凭据。PHP 4.4.1 JSON ENCODE

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

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

是否有一个相当于json_encode()在PHP版本4.4.1?

任何帮助将是伟大的。

在此先感谢。

+1

PHP 4.4.1于2005年10月31日发布。没有理由说他们现在还没有更新。我建议告诉他们到PHP而不是改变你的代码。 – 2011-12-17 17:08:25

+0

[如何在PHP 4中使用JSON](http://www.epigroove.com/posts/97/how_to_use_json_in_php_4_or_php_51x) – Clive 2011-12-17 17:09:39

+0

[php 5.1.6 json_encode和codeigniter]的可能重复(http://stackoverflow.com/questions/2900511/php-5-1-6-json-encode-and-codeigniter) – mario 2011-12-17 17:22:36

回答

1

从版本5.2.0开始,JSON支持已经在PHP核心中。所以你需要使用PECL::json

另外,考虑更新到PHP5,因为自2007-12-31以来,对PHP4的支持已经停止,它可能有开放的安全问题。

0

您可以使用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()不兼容,但它可能满足您的需要。