将for循环的值放在数组中

时间:2015-07-01 14:29:24

标签: php html css

我正在尝试创建一个包含120,000之间所有奇数的数组。我使用末尾的var_dump()显示数组值而不使用循环。

出于某种原因,它无法解决。

到目前为止,这是我的代码:

$array_variable = array();

for($i=1; $i<=20000; $i++){
    if($i%2 == 1){ // if the remainder after division `$i` by 2 is one{
        print_r($array_variable[$i]); // if odd, echo it out and then echo newline for better readability;
    }
}

var_dump($array_variable);

5 个答案:

答案 0 :(得分:9)

您需要先将值推送到数组:

$array_variable = array();
for($i=1; $i<=20000; $i++){
   if($i%2 == 1){ 
       $array_variable[] = $i;// or array_push($array_variable, $i);
   }
}
var_dump($array_variable);

否则你的数组会保持空白。

答案 1 :(得分:5)

这导致很多未定义的索引,因为您没有向$array_variable添加任何内容。

将代码更改为:

   $array_variable = array();

    for($i=1; $i<=20000; $i++){
      if($i%2 == 1){ // if the remainder after division `$i` by 2 is one{
        $array_variable[] = $i; // $array_variable[] means adding something to the array
      }
    }

    var_dump($array_variable); //dump all odd numbers

为了更好的数组可读性,您可以使用:

echo "<pre>";
print_r($array_variable);
echo "</pre>";

答案 2 :(得分:0)

您的$ array_variable为空,因为您从不向其添加任何元素。试试这个:

$array_variable = range(1, 20000, 2);

答案 3 :(得分:0)

$ array_variable = array();

array_origin = [1,2].concat(array_element);
array_cloned = array_origin.map(function(elem) { return elem; }); // This is not a deep copy!

答案 4 :(得分:0)

您正在尝试打印由于数组为空而不存在的元素。 如果你坚持使用数组使用这个代码,你会注意到你为数组元素赋值:(如果你想在浏览器的新行上显示它,请使用echo注释掉):(如果对更多内容感兴趣: what is the difference between echo and print_r

<?php 

        $array_variable = array();

        for($i=1; $i<=20000; $i++){
            $array_variable[$i]=$i;//assignment
            if($i%2 == 1){ // if the remainder after division `$i` by 2 is one{
            print_r($array_variable[$i]); // if odd, echo it out and then echo newline for better readability;
            //echo $array_variable[$i].'<br>';
        }
    }

        var_dump($array_variable);
    ?>