有没有办法在for循环中创建一个数组。这里有几个类似的答案,但这些答案中的任何一个或逻辑都不适用于下面的代码。
for($j=1;$j<6;$j++) {
$odg[$j] = "";
}
//the rest of the code which gives values to the array elements (outside the loop)
在将数组插入sql查询之前,这就是数组的样子。
$odg_ids = array($odg[1],$odg[2],$odg[3],$odg[4],$odg[5]);
$odg_list = implode("','", $odg_ids);
这是应该生成数组的for循环。
for($i=1;$i<6;$i++) {
$odg_ids[] = $odg[$i];
$odg_list[] = implode("','", $odg_ids[$i]);
}
有什么东西不见了?
答案 0 :(得分:5)
您需要在循环之后执行implode
。否则,您每次都会继续追加odg_list
。
for ($i=1;$i<6;$i++) {
$odg_ids[] = $odg[$i];
}
$odg_list = implode("','", $odg_ids[$i]);
我不确定你从哪里得到6
,但你也可以使用array_slice
来获得第1到第6个元素(你省略了第0个元素)。