将for循环的值放入数组中

5

我正在尝试创建一个包含从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);

你没有给变量赋值? - Reuben L.
你试图在没有循环的情况下显示它,但是你还是在你的for循环中显示它?另外,在空数组中添加任何内容之前,为什么要尝试访问$array_variable[$i] - Huey
简单的赋值问题。 - jagad89
5个回答

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);

否则你的数组将保持为空。

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>";

0
你的$array_variable是空的,因为你从未向其中添加任何元素。请尝试使用以下代码:
$array_variable = range(1, 20000, 2);

range() 是 PHP 函数,如果您提供起始值、结束值和可选的增量步骤,它将生成一个数组。另请参阅 http://php.net/manual/en/function.range.php。 - unfairhistogram

0

$array_variable = array();

for($i=1; $i<=20000; $i++){
  if($i%2 == 1){ // if the remainder after division `$i` by 2 is one{
      array_push($array_variable, $i); //Push the variable into array
  }
}

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

0

您正在尝试打印一个不存在的元素,因为数组为空。 如果您坚持使用数组,请使用以下代码,并注意您分配值给数组元素:(如果您想在浏览器中显示它并换行,请使用echo注释掉):(如果您想了解更多信息:echo和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);
    ?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接