[英]Put the value of for loop inside array
我试图创建一个包含1
到20,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);
您需要先将值推送到数组:
$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);
否则您的阵列将保持空白。
这会导致很多未定义的索引,因为您没有向$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>";
您的$ array_variable为空,因为您从不向其添加任何元素。 试试这个:
$array_variable = range(1, 20000, 2);
$ 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
您正在尝试打印由于数组为空而不存在的元素。 如果你坚持使用数组使用这个代码,你会注意到你为数组元素赋值:(如果你想在浏览器的新行上显示它,请使用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);
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.