编辑:已解决! 谢谢大家指出缺少的串联运算符和缺少的标点符号。
我刚刚被介绍给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 语句中if
和elseif
块的结束偏执)
以及串联运算符.
。 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;
这就是它的工作原理。