使用if语句在while循环中回显文本

时间:2016-05-05 14:31:48

标签: php if-statement while-loop

我现在正在完成任务。循环应该从变量1开始计数到10.当循环到达数字3和7时,我需要在数字旁边回显一个语句。

这是我的代码:

<?php

    $x = 1;
    while($x <= 10) {
        echo "The number is " . $x . "<br />";
        $x = $x + 1;  // increment by 1 … same as $x++;   
    }


    if ($x = $x + 2) {
        echo "<font color='green'>Third time is a charm</font>";
        //  echo "<p>Third time is a charm</p>";
    } else if ($x = $x + 6) {
        echo "<br>";
        echo "<font color='blue'>You got 7! JACKPOT!</font>";
    }

?>

我想知道如何在声明旁边输出echo输出。我不知道为什么我的if语句现在还不能正常工作?

4 个答案:

答案 0 :(得分:1)

你的if语句在你的while循环之外,$ x在它达到你的条件时只是'10'(错误11)。

如果您不必使用'while'循环,则可以在for。

中实现此清洁
for ($i=0; $i<=10; $i++) {
    //conditionals (I would elaborate, but learning by trial and error is great, don't want to rob you of that)
}

如果出于分配原因需要使用一段时间,只需将“if”之前的大括号移动到脚本末尾即可。

while {
 if() {
 } elseif() {
 }
}
祝你好运!

答案 1 :(得分:0)

<?php

    $x = 1;
    while($x <= 10) {
        echo "The number is " . $x . "<br />";

        if ($x == 3) {
            echo "<font color='green'>Third time is a charm</font>";
            //  echo "<p>Third time is a charm</p>";
        } else if ($x == 7) {
            echo "<br>";
            echo "<font color='blue'>You got 7! JACKPOT!</font>";
        }

        $x = $x + 1;  // increment by 1 … same as $x++;   
    }

?>

答案 2 :(得分:0)

试试这个

<?php

//  $i = 1     : start the counter at 1
//  $i <= 10   : execute until 10 is reached
//  $i++       : increment counter by one
for($i = 1; $i <= 10; $i++) {

echo "The number is " . $i;

  if($i == 3) {
    echo "<font color='green'> Third time is a charm</font>";
  } elseif($i == 7) {
    echo "<font color='blue'> You got 7! JACKPOT!</font>";
  }
   echo "<br />";
}

?>

玩for循环。它们经常派上用场。

答案 3 :(得分:-1)

您的${__V(pval_${counter})}语句不在if循环中。 while表示根据{}语句的()中的条件运行的代码块,因此您需要将它们放在while和结尾{之间} {1}}。尝试这样的事情:

{

或在开关中:(如果你想处理的不仅仅是3和7,那么开关可能是最干净的方式。)

}

确保使用两个等号来比较值,因为单个等号只会为左边的变量赋值,右边的语句。

<?php
$x=0;

// You can add the increment modifier inside the 
// condition too, which will save you a line of code. (Just a shortcut)
while (++$x <= 10) {
    echo "The number is " . $x . "<br />";

    if ($x == 3) {
        echo "<font color='green'>Third time is a charm</font>";
        //  echo "<p>Third time is a charm</p>";
    } else if ($x == 7) {
        echo "<br>";
        echo "<font color='blue'>You got 7! JACKPOT!</font>";
    }
}
?>

相比
<?php
$x=0;

// You can add the increment modifier inside the 
// condition too, which will save you a line of code. (Just a shortcut)
while (++$x <= 10) {
    echo "The number is " . $x . "<br />";

    switch ($x) {
        case 3:
            echo "<font color='green'>Third time is a charm</font>";
            //  echo "<p>Third time is a charm</p>";
            break;
        case 7:
            echo "<br>";
            echo "<font color='blue'>You got 7! JACKPOT!</font>";
            break;
        default:
            // The default logic goes here.

    }
}    
?>

P.S。 $x = 1; // Assignment. $x == 1; // Comparison. 相同,只是编写它的简写方式。如果$x++在变量之前(例如$x = $x + 1),则在评估语句之前,该值将递增。如果它在之后(例如++),则将首先评估该语句(例如++$x),然后该值将在之后递增。

希望这有帮助。