将for循环的输出推入数组

时间:2018-07-04 16:28:49

标签: php arrays


我正在尝试将 for 循环的输出推入数组中,但我无法这样做。以下是我编写的代码:

<?php
$n = 14;
for ($i = 2; $i <= $n; $i++) 
{ 
    for ($j = 2; $j <= $n; $j++) 
    { 
        if ($i%$j == 0) // if remainder of $i divided by $j is equal to zero, break. 
        {
            break;
        }
    }
    if ($i == $j) // 
    {
        $form = $i;
        //echo $form;
        $numArray = array();
        array_push($numArray, $form); // Here I am trying to push the contents from the `$form` variable into the `$numArray`
        print_r($numArray);                 
    }
}
?>

我通过此获得的输出是:

  

Array([0] => 2)Array([0] => 3)Array([0] => 5)Array([0] => 7)Array([0] => 11)Array( [0] => 13)

在这里,我们看到数组索引基本上保持不变,因此没有将来使用的范围。因此,如何使它看起来如下所示

  

Array([0] => 2)Array([1] => 3)Array([2] => 5)Array([3] => 7)Array([4] => 11)Array( [5] => 13)

请注意,代码中的$n可以是小于101且大于1的任何数字。感谢您宝贵的时间阅读和尝试帮助我。 :)

1 个答案:

答案 0 :(得分:3)

$numArray应该声明一次,而不是每次循环都声明一次。而且,您可以使用以下表达式来简单地向数组添加值:$numArray[] = $i; 尝试以下代码:

<?php

$numArray = array();
$n = 14;
for ($i = 2; $i <= $n; $i++) {
    for ($j = 2; $j <= $n; $j++) {
        if ($i % $j == 0) { // if remainder of $i divided by $j is equal to zero, break. 
            break;
        }
    }
    if ($i == $j) {
        $numArray[] = $i;
    }
}
print_r($numArray);