如何循环发布的值数组

时间:2011-09-28 20:59:13

标签: php http-post

我发布了一系列ID并希望循环遍历这些值。我正在尝试以下方法来填充具有键/值对的数组,但看起来数组是空的。

$arr = array();
foreach($_POST['ids'] as $id)
{
   $arr[$id] = GetStuff($id);
}

更新:看起来数组填充正常。我正在尝试通过echo json_encode($arr)返回数组的内容,但响应是空白的。

这是var_dump($ _ POST);

的输出
  array(1) {
  ["ids"]=>
  array(18) {
    [0]=>
    string(6) "156795"
    [1]=>
    string(6) "156800"
    [2]=>
    string(4) "4292"
    [3]=>
    string(6) "796053"
    [4]=>
    string(6) "660520"
    [5]=>
    string(4) "4293"
    [6]=>
    string(4) "4287"
    [7]=>
    string(6) "488339"
    [8]=>
    string(6) "837701"
    [9]=>
    string(7) "1152093"
    [10]=>
    string(7) "1186434"
    [11]=>
    string(7) "1324432"
    [12]=>
    string(6) "796051"
    [13]=>
    string(6) "144860"
    [14]=>
    string(5) "15065"
    [15]=>
    string(7) "1324434"
    [16]=>
    string(5) "13066"
    [17]=>
    string(4) "6969"
  }
}

3 个答案:

答案 0 :(得分:1)

foreach($_POST['ids'] AS $i=>$id) {
    //do stuff
}

不要忘记引用..

答案 1 :(得分:0)

$arr = array();
foreach($_POST['ids'] as $id)
{
   $arr[$id] = GetStuff($id);
}

注意$ _POST中的ID周围的刻度线。

答案 2 :(得分:0)

这应该有效:

foreach($_POST['ids'] as $id)
{
   $arr[$id] = $_POST['ids'][$id];
}

甚至更快,如果你只是想要一个与发布的id相同的数组:

$arr = $_POST['ids'];

除非我误解了这个问题。