gpt4 book ai didi

php - 如何在没有 json_encode() 的情况下将数组编码为 JSON?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:01:47 25 4
gpt4 key购买 nike

我对 PHP 非常陌生,但现在我必须帮助我的 friend 解决一个 PHP 问题。

他买了一个基于PHP的网站,上传到主机后,发现有错误:

Fatal error:  Call to undefined function json_encode() in xxx.php

代码很简单:

echo json_encode(array(
'result' => true,
));

它向客户端发送一个 json。

我知道json_encode是在php 5.2之后加入的,但是他的宿主机的PHP版本是PHP 5.1.2,所以才会报错。

但是我们没有权限升级host的PHP版本,只好修改代码。如何让它在没有json_encode的情况下返回一个json给客户端?

客户端浏览器中的网页将运行此 javascript 代码,以获取并检查 json:

jQuery.ajax({ 'url': '...', ...,
'success':function(json) {
if(json != null && json.result == true) {
// do something
}
}
}

非常感谢!


更新

由于我无权升级任何东西或向该主机安装新库,我唯一能做的就是更改代码。但我对 php 几乎一无所知,我也不知道如何使用 3rd 方库。最后,我将其修复为:

在 php 中:

echo '{"result":"true"}';

在 JavaScript 中:

if(json!=null && json.result=="true") {
// do something
}

最佳答案

首先:您应该强烈考虑升级,因为不再支持 PHP 5.1.x 和 5.2.x。您表示您无权这样做,但如果您是付费客户,那应该有所作为。自 last PHP 5.3.6 release 起弃用 PHP 5.2 .

PHP.net 上的一位用户提供了一个 custom function那也是一样的。您可以将其重命名为 json_decode() 并将其包装在 if (!function_exists('json_encode')) 语句中:

if (!function_exists('json_encode')) {
function json_encode() {
// do stuff
}
}

关于php - 如何在没有 json_encode() 的情况下将数组编码为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5431417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com