我发布了一系列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"
}
}
答案 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'];
除非我误解了这个问题。