虽然循环没有显示?

时间:2016-10-10 08:50:05

标签: php

我正在尝试使用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个控制台变量,但它不会显示任何内容。

3 个答案:

答案 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++;
}


?>

阅读更多内容:

http://php.net/manual/en/function.count.php

答案 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(){},而这种类型的数组效果会更好。