我正在尝试使用while
循环写出所有数组值,但它不起作用,有什么提示吗?
$console = array("Wii","Playstation 3","Xbox","Dator");
echo "I like " .$console[0] . " and " . $console[1] . ".";
while($console <5){
echo "The console you like is: $console <br>";
$x++;
}
我的第一个echo
是可见的但是我循环中的第二个不是,我做错了什么? while
循环应该能够显示所有4个控制台变量,但它不会显示任何内容。
答案 0 :(得分:2)
您可以使用foreach()
获得所需的输出,而无需使用任何额外的功能,例如count()
示例:强>
$console = array("Wii","Playstation 3","Xbox","Dator");
foreach ($console as $key => $value) {
echo $value."<br/>";
}
<强>结果:强>
Wii
Playstation 3
Xbox
Dator
另请注意,while($console <5){
此条件会使您的循环变为无限,如果您仍想使用while()
循环,则可以检查其他答案,或者也可以按照此示例进行操作。
<强> From the Manual 强>
<?php
$console = array("Wii","Playstation 3","Xbox","Dator");
while (list ($key, $val) = each ($console) )
echo $val."<br/>";
?>
<强>结果:强>
Wii
Playstation 3
Xbox
Dator
您还可以浏览手册:http://php.net/manual/en/control-structures.while.php
答案 1 :(得分:1)
要使循环成为动态,您需要count()
数组中的项目数量并使用计数器变量(在此实例中为$x
)来输出数组的每次迭代。
<?php
$console = array("Wii","Playstation 3","Xbox","Dator");
echo "I like " .$console[0] . " and " . $console[1] . ".";
$x=0;
while($x < count($console)){
echo "The console you like is: ". $console[$x] ."<br>";
$x++;
}
?>
阅读更多内容:
答案 2 :(得分:1)
当您需要使用while循环编写/显示数组中的所有值时,您需要计数值的总数和计数器。计数器跟踪数组指针,在while循环内需要递增它。
$console = array("Wii","Playstation 3","Xbox","Dator");
//echo "I like " .$console[0] . " and " . $console[1] . ".";
$count = count($console);
$counter = 0
while($counter <= $count){
echo "The console you like is: ". $console[$counter]." <br>";
$counter++;
}
您可以使用foreach(){}
,而这种类型的数组效果会更好。