我正在尝试在HTTP响应中返回一个数组。我想将数组作为JSON对象返回。我正在做echo json_encode($arr)
但我在回复中得不到任何结果。
更新:我正在运行没有json_encode方法的PHP版本。 json_encode是在PHP 5.2中引入的。所以我想问题是如何在不使用json_encode的情况下返回数组?
$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"
...
答案 0 :(得分:3)
确保在发回JSON时设置正确的MIME类型:
header('Content-Type: application/json');
echo json_encode($arr);
答案 1 :(得分:2)
json_encode()
需要PHP 5.2.0或更高版本。确保您的主机没有使用--disable-json
标志编译PHP。可以使用phpinfo()
函数检查这两个函数。到目前为止您发布的代码对我来说很好。
答案 2 :(得分:0)
json编码应该没有问题。当我将数据泵入数组时,它工作正常。你可以发布一些代码来构建数组吗?您使用的是哪个版本的PHP?
答案 3 :(得分:0)
使用json验证器来确保你的json是正确的
看,我做了这个&它运作良好 $arr = array();
$i=0;
while($i<10)
{
$arr[$i] = $i;
$i++;
}
echo json_encode($arr);
return;