循环中的基本 php 数组
我正在尝试从 PHP 中的循环创建一个数组。
我希望数组最终像 $array(100,100,100,100) 那样,这是我的代码:
$x = 0;
while($x < 5){
$array[$x] = 100;
$x++;
}
echo $array[0];
它输出 1 而不是 100。 有人可以告诉我哪里出了问题吗?
im trying to create an array from a loop in PHP.
I want the array to end up something like $array(100,100,100,100), this is my code:
$x = 0;
while($x < 5){
$array[$x] = 100;
$x++;
}
echo $array[0];
It outputs 1 instead of 100.
Can someone tell me where i'm going wrong.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尽管它对我来说非常有效,但您应该事先初始化该变量。
例如,如果
$array
是非空字符串,您将看到1
的输出。Even though it works perfectly for me, you should be initialising the variable beforehand.
For example, if
$array
is non-empty string, you will see the output of1
.您只需使用预定义的
array_fill
函数即可:You can just use the predefined
array_fill
function for that:其他答案几乎涵盖了这一点。但是,如果您要使用循环而不是函数来执行此操作,我建议您使用 for 循环而不是 while 循环。
事实上,你可以让它变得更短。
使用 for 循环语句而不是块是完全有效的。块也可以去任何地方;它们之前不需要 if 语句、for 循环、while 循环或其他任何语句。
The other answers pretty much cover this. I would, however, recommend you use a for loop for this instead of a while loop if you're going to use a loop rather than a function to do it.
In fact, you could make this even shorter.
It's perfectly valid to have a for loop statement instead of a block. And blocks can go anywhere too; they don't need an if statement, for loop, while loop, or whatever, before them.