【发布时间】:2019-08-11 11:45:40
【问题描述】:
首先谢谢你。 代码:
$flag=1;
foreach( $questionidset as $oneqid)
{
if($oneqid%23==0)
{
if($flag<3)
{
array_push($questionidset, 23*$flag);
$flag++;
}
}
}
print_r($questionidset);
问题: 如何在推送新元素后使 foreach 获得动态 $questionidset。
比如原来的$questionidset是{1,2,23}
输出应该是:{1,2,23,23,46}
我的目的是在将一个新元素推送到名为 $questionidset 的原始数组后,foreach 循环时间可以获得增量
【问题讨论】:
-
嗨,Allen - 每次循环遍历数组时,您的 $flag 变量都会重置为 1。因此,当您到达 array_push 时,$flag 将始终为 1。
-
太好了,这个答案可能会对您的问题有所帮助:stackoverflow.com/a/28217055/213599
-
谢谢。但它不是一个类似的。我的目的是在将新元素推送到名为 $questionidset 的原始数组后,foreach 循环时间可以增加。
-
是的,我跟着。在该答案中,它提到您不能在 foreach 循环中向数组添加元素。您需要使用额外的循环或不同类型的循环。
标签: php arrays dynamic foreach