我从用户输入中获取一个随机数(比如$n
)。是否可以创建数字数组键array(1, 2, 3, ....., $n )
,直到用户给出的数字?实际上我想在foreach循环中使用它并回显值。
这是我用过的代码之一。
$n = $_GET['num'];
foreach ($n as $a) {
echo $a;
}
我该怎么做? 提前谢谢。
答案 0 :(得分:0)
在foreach
中创建一个临时的变量存储器,它在循环完成后执行后得到刷新。当您已经知道存在foreach
关系时,请更喜欢使用key | value
要创建最高$ n的数组,您可以使用for
循环:
$array_up_to_n = array();
for ($i=1; $i<=$n; $i++)
{
$array_up_to_n[] = $i;
}
//you can verify it by:
print_r($array_up_to_n);
我希望你想要这个结果,我已经理解正确了
供您参考:
无论何时使用foreach
并且想要在数组中得到结果,总是在foreach
之前声明一个数组并在里面使用它,如:
$my_array = array();
foreach ($result as $row)
{
$my_array[] = $row;
}
因为$row
内存在此循环之后被刷新
答案 1 :(得分:0)
如果您不介意在此过程中销毁$n
,您可以减少它:
for(;$n;$a[$n--]=1) {}
这会以反向数字顺序创建键。如果这很重要,您可以随时ksort()
。
销毁$n
可能不是什么大问题,因为在for循环结束后count($a)
会产生相同的值。