Php 如何在响应中返回数组

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; }

我试图在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_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之前,您如何返回数组?您会使用类似序列化的方法吗?