Php 如何在响应中返回数组
我试图在HTTP响应中返回一个数组。我正在考虑将数组作为JSON对象返回。我正在做Php 如何在响应中返回数组,php,arrays,json,Php,Arrays,Json,我试图在HTTP响应中返回一个数组。我正在考虑将数组作为JSON对象返回。我正在做echo json\u encode($arr),但是我在响应中什么也没有得到 更新:我运行的PHP版本没有json_编码方法。json_编码是在PHP5.2中引入的。所以我想问题是,在不使用json_编码的情况下,如何返回数组 $arr = array(); foreach($_POST['ids'] as $id) { $arr[$id] = $id; }
echo json\u encode($arr)
,但是我在响应中什么也没有得到
更新:我运行的PHP版本没有json_编码方法。json_编码是在PHP5.2中引入的。所以我想问题是,在不使用json_编码的情况下,如何返回数组
$arr = array();
foreach($_POST['ids'] as $id)
{
$arr[$id] = $id;
}
echo json_encode($arr);
return;
以下是我的数组的内容:
array(18) {
[156795]=>
string(6) "156795"
[156800]=>
string(6) "156800"
[4292]=>
string(4) "4292"
[796053]=>
string(6) "796053"
[660520]=>
string(6) "660520"
...
发送回JSON时,请确保设置正确的MIME类型:
header('Content-Type: application/json');
echo json_encode($arr);
json编码应该不会有问题。当我将数据泵入数组时,它工作正常。你能发布一些构建阵列的代码吗?您使用的是什么版本的PHP?
json\u encode()
需要PHP 5.2.0或更高版本。确保您的主机没有使用--disable json
标志编译PHP。这两项都可以通过phpinfo()
函数进行检查。到目前为止,您发布的代码对我来说运行良好。请使用json验证器确保您的json是正确的
看,我做了这个&效果很好
$arr = array();
$i=0;
while($i<10)
{
$arr[$i] = $i;
$i++;
}
echo json_encode($arr);
return;
$arr=array();
$i=0;
虽然($iShow告诉我们您的实际代码。我们无法根据您的简短描述进行调试。JSON绝对是正确的方法。但这里没有错。显示您的javascript和完整的服务器端方法。我用更多代码更新了问题。看起来就是这样。我运行了PHP 5.1.4版。要返回a,下一个最好的方法是什么rray?您可以使用json_encode()
替代方法-例如,对不起,我是php新手,但在PHP5.2之前,您如何返回数组?您会使用类似序列化的方法吗?