如何在 PHP 中修复以下 for 循环和 if 语句组合


How Can I Fix the Following For-loop and If statement combination in PHP?

编辑:已解决! 谢谢大家指出缺少的串联运算符和缺少的标点符号。

我刚刚被介绍给PHP,并正在尝试进行一个基本练习,我将for循环与几个if/elseif语句结合使用。

我的变量 A 和 B 在数学上是相关的,我需要输出来陈述 B 的值以及一个简单的单词("好"、"坏"、"好"——取决于 B 的结果值)。 我还希望循环的每个结果都打印在新行上。

我的尝试可以在下面看到:

<?php
for ($A = 0; $A <= 100; $A++){
$B = (2/3) * ($A - 25); 
if ($B < 0 {
echo $B ", Bad <br>";}
elseif ($B > 45 {
echo $B ", Good <br>";}
else {
echo $B ", Okay <br>";}
}
endfor;
?>  

这只是我使用 PHP 的第二天(也是我大约七年来第一次写任何类型的循环语句),所以如果我的错误很明显,我深表歉意。

我需要移动$B的定义吗? 我需要以某种方式拆分此语句吗? 问题是我的回声陈述吗? 任何提示或解释将不胜感激。谢谢!

PHP 中使用.进行连接的代码中存在一些语法错误

并且控制结构详细链接有两种类型的语法,要么使用if( some condition ){ your code }要么使用if(some condition): "your code" endif;
这是 if () { } 和 if () 之间的区别: endif;

<?php
for ($A = 0; $A <= 100; $A++):
$B = (2/3) * ($A - 25); 
    if($B < 0 ){
        echo $B .", Bad <br>";
    }else if ($B > 45) {
        echo $B .", Good <br>";
    }else{
        echo $B .", Okay <br>";
    }
endfor;
?> 

代码中存在一些语法错误。您错过了)以及串联运算符,即 .

if ($B < 0 {    //  if ($B < 0)  .... ")" is missing
    echo $B ", Bad <br>";}    //  echo $B .", Bad <br>";}  .... "." is missing

这是更正的代码:

for ($A = 0; $A <= 100; $A++){
    $B = (2/3) * ($A - 25); 
    if ($B < 0) {
        echo $B . " Bad <br>";
    }
elseif ($B > 45) {
echo "Good <br>";}
else {
echo "Okay <br>";}
}
<?php
for ($A = 0; $A <= 100; $A++) {
    $B = (2 / 3) * ($A - 25);
    if ($B < 0) {
        echo $B . " Bad <br>";
    } else if ($B > 45) {
        echo "Good <br>";
    } else {
        echo "Okay <br>";
    }
}
?>  
<?php
for ($A = 0; $A <= 100; $A++){
$B = (2/3) * ($A - 25); 
if ($B < 0) {
echo $B .", Bad <br>";
}
elseif ($B > 45) {
echo $B ."Good <br>";
}
   else {
   echo $B ."Okay <br>";
  }
}
?>  

试试这段代码。

您错过了第一个 echo 语句中ifelseif块的结束偏执)以及串联运算符.echo接受并输出一个字符串,因此您需要组合多个字符串以使其成为一个字符串,并要求echo输出它。 endfor;也不是必需的。

<?php
for ($A = 0; $A <= 100; $A++)
{ 
$B = (2/3) * ($A - 25);
if ($B < 0) 
{ 
echo $B.", Bad <br>";
}
elseif ($B > 45 )
{
 echo "Good <br>";
}
else 
{ 
echo "Okay <br>";
} 
}
?>

使用endfor;

for ($A = 0; $A <= 100; $A++):
$B = (2/3) * ($A - 25);
if ($B < 0) 
{ 
echo $B.", Bad <br>";
}
elseif ($B > 45 )
{
 echo "Good <br>";
}
else 
{ 
echo "Okay <br>";
} 
endfor;

我已将 for 循环的开{替换为 :,将右大括号替换为 endfor;

这就是它的工作原理。