在我正在构建的项目的本地版本上,我一直在发送一个JSON字符串作为HTTP查询参数,并使用json_decode()
函数将字符串解码回PHP数组。 / p>
在本地,这工作正常(XAMPP)但是当我将这些文件上传到我的客户端服务器时,它们不再起作用。我已经将此诊断为一个问题,其中传递JSON字符串的参数为例如全局o=[{"b_id":"1","p_ref_id":"SHAY899","b_name":"John Smith"}]
数组中未提取$_GET
。
我想也许编码/解码JSON所需的PHP版本不可用,但是我在这个项目的其他部分使用了json_encode()
,所以这不是问题。我想知道它是否是一个最大字符长度问题,如果是这样我将如何解决它(或者至少我会从哪里开始)?
如果没有,任何其他帮助将非常感谢!!
答案 0 :(得分:3)
而不是使用JSON使用http_build_query()。它已经进行了URL编码,如果这是问题,它可能会为您节省一些空间。它还处理多维数组。
答案 1 :(得分:3)
使用:
urlencode(json_encode($string));
并使用 urldecode(json_decode($ _ GET ['string']))将字符串解码回PHP数组。