PHP中的If/Elseif语句
我们正在尝试为变量PHP中的If/Elseif语句,php,html,if-statement,Php,Html,If Statement,我们正在尝试为变量$day创建if/elseif语句。我们在与此PHP关联的HTML代码中定义了变量及其值。我将把PHP部分粘贴到此页面。问题是结果页面只给出了“$day=1”的响应。有人知道这段代码中的错误会导致这种情况发生吗?我们也尝试过使用两个等号,但这让情况变得更糟 echo "<p>"; if ($day = 1) { echo "Sunday Funday! What COMMITMENT to go
$day
创建if/elseif语句。我们在与此PHP关联的HTML代码中定义了变量及其值。我将把PHP部分粘贴到此页面。问题是结果页面只给出了“$day=1”的响应。有人知道这段代码中的错误会导致这种情况发生吗?我们也尝试过使用两个等号,但这让情况变得更糟
echo "<p>";
if ($day = 1) {
echo "Sunday Funday! What COMMITMENT to going out!";
} elseif ($day = 2) {
echo "The start of what's sure to be a rough week. Drink away your sorrows.";
} elseif ($day = 3) {
echo "Epic night! SO many themes at the bars!";
} elseif ($day = 4) {
echo "Hump day!! But seriously, what are you doing...? Aren't you too hungover from last night?";
} elseif ($day = 5) {
echo "Thirsty Thursday!! It's close enough to the weekend... right?";
} elseif ($day = 6) {
echo "It's Friiiiiiday, Friiiiiiiday, Gotta get down on Friiiiiiiiiday!";
} elseif ($day = 7) {
echo "It's FRATurday! Go have some fun!";
}
echo“”;
如果($day=1){
echo“Sunday Funday!什么样的外出承诺!”;
}elseif($day=2){
回声:“这肯定是艰难的一周的开始。喝掉你的悲伤。”;
}elseif($day=3){
回声“史诗般的夜晚!酒吧里有这么多主题!”;
}elseif($day=4){
回声“驼峰日!!但说真的,你在干什么…?你昨晚不是太宿醉了吗?”;
}elseif($day=5){
echo“口渴的星期四!!离周末已经很近了…对吧?”;
}elseif($day=6){
echo“这是周五,周五,周五要下来!”;
}elseif($day=7){
echo“这是兄弟会!去玩一玩吧!”;
}
您正在分配(=
)。您需要一个逻辑等式(==
)
退房并离开。另外,您正在分配(=
)。您需要一个逻辑等式(==
)
退房并离开。另外,当您打算使用比较时,.您正在使用赋值
=
if ($day == 1) {
echo "Sunday Funday! What COMMITMENT to going out!";
}
赋值计算为右边的值,所以
if ($day = 1)
与
if (1)
if (true)
由于的原因与
if (1)
if (true)
这应该解释为什么程序的行为如此,当然你现在知道如何修复它了。但如果您使用开关
语句,效果会更好:
switch($day) {
case 1:
echo "Sunday Funday! What COMMITMENT to going out!";
break;
case 2:
echo "The start of what's sure to be a rough week.";
break;
// etc etc
}
当您打算使用比较时,您正在使用赋值
=
if ($day == 1) {
echo "Sunday Funday! What COMMITMENT to going out!";
}
赋值计算为右边的值,所以
if ($day = 1)
与
if (1)
if (true)
由于的原因与
if (1)
if (true)
这应该解释为什么程序的行为如此,当然你现在知道如何修复它了。但如果您使用开关
语句,效果会更好:
switch($day) {
case 1:
echo "Sunday Funday! What COMMITMENT to going out!";
break;
case 2:
echo "The start of what's sure to be a rough week.";
break;
// etc etc
}
比较运算符是
=
,而不是=
还可以尝试这种查找表方法,这种方法在这种情况下更为简洁:
$day_msg = array(
1 => "Sunday Funday! What COMMITMENT to going out!",
2 => "The start of what's sure to be a rough week. Drink away your sorrows.",
3 => "Epic night! SO many themes at the bars!",
4 => "Hump day!! But seriously, what are you doing...? Aren't you too hungover from last night?",
5 => "Thirsty Thursday!! It's close enough to the weekend... right?"
6 => "It's Friiiiiiday, Friiiiiiiday, Gotta get down on Friiiiiiiiiday!",
7 => "It's FRATurday! Go have some fun!"
);
echo "<p>";
echo $day_msg[$day];
$day\u msg=array(
1=>“Sunday Funday!什么样的外出承诺!”,
2=>“这肯定是艰难的一周的开始。喝掉你的悲伤。”,
3=>“史诗之夜!酒吧里有这么多主题!”,
4=>“驼峰日!!但说真的,你在干什么…?你昨晚不是太宿醉了吗?”,
5=>“口渴的星期四!!离周末已经很近了…对吗?”
6=>“今天是星期五,星期五,星期五必须下来!”,
7=>“这是兄弟会!去玩玩吧!”
);
回声“”;
echo$day_msg[$day];
比较运算符是=
,而不是=
还可以尝试这种查找表方法,这种方法在这种情况下更为简洁:
$day_msg = array(
1 => "Sunday Funday! What COMMITMENT to going out!",
2 => "The start of what's sure to be a rough week. Drink away your sorrows.",
3 => "Epic night! SO many themes at the bars!",
4 => "Hump day!! But seriously, what are you doing...? Aren't you too hungover from last night?",
5 => "Thirsty Thursday!! It's close enough to the weekend... right?"
6 => "It's Friiiiiiday, Friiiiiiiday, Gotta get down on Friiiiiiiiiday!",
7 => "It's FRATurday! Go have some fun!"
);
echo "<p>";
echo $day_msg[$day];
$day\u msg=array(
1=>“Sunday Funday!什么样的外出承诺!”,
2=>“这肯定是艰难的一周的开始。喝掉你的悲伤。”,
3=>“史诗之夜!酒吧里有这么多主题!”,
4=>“驼峰日!!但说真的,你在干什么…?你昨晚不是太宿醉了吗?”,
5=>“口渴的星期四!!离周末已经很近了…对吗?”
6=>“今天是星期五,星期五,星期五必须下来!”,
7=>“这是兄弟会!去玩玩吧!”
);
回声“”;
echo$day_msg[$day];
你的第一个想法是对的,你需要两个等号。你的第一个想法是对的,你需要两个等号。你想让所有的条件都变成这样吗
if ($day == 1) {
echo "Sunday Funday! What COMMITMENT to going out!";
} elseif ($day == 2) {
echo "The start of what's sure to be a rough week. Drink away your sorrows.";
} elseif ($day == 3) {
echo "Epic night! SO many themes at the bars!";
} elseif ($day == 4) {
echo "Hump day!! But seriously, what are you doing...? Aren't you too hungover from last night?";
} elseif ($day == 5) {
echo "Thirsty Thursday!! It's close enough to the weekend... right?";
} elseif ($day == 6) {
echo "It's Friiiiiiday, Friiiiiiiday, Gotta get down on Friiiiiiiiiday!";
} elseif ($day == 7) {
echo "It's FRATurday! Go have some fun!";
}
你想把所有的条件都变成这样吗
if ($day == 1) {
echo "Sunday Funday! What COMMITMENT to going out!";
} elseif ($day == 2) {
echo "The start of what's sure to be a rough week. Drink away your sorrows.";
} elseif ($day == 3) {
echo "Epic night! SO many themes at the bars!";
} elseif ($day == 4) {
echo "Hump day!! But seriously, what are you doing...? Aren't you too hungover from last night?";
} elseif ($day == 5) {
echo "Thirsty Thursday!! It's close enough to the weekend... right?";
} elseif ($day == 6) {
echo "It's Friiiiiiday, Friiiiiiiday, Gotta get down on Friiiiiiiiiday!";
} elseif ($day == 7) {
echo "It's FRATurday! Go have some fun!";
}
如果要检查的条件列表很长,通常不希望编写一长串If/else语句。而是尝试一个块,甚至一个地图: 代码变得非常简单:
echo $map[ $day ];
(理想情况下,应该使用检查。但是对于开发阶段,PHP足够聪明,可以提供关于缺少条目的提示。如果输入值已经被约束/断言,则无需进行任何检查。)如果要检查的条件列表很长,则通常不希望编写一长串If/else语句。而是尝试一个块,甚至一个地图: 代码变得非常简单:
echo $map[ $day ];
(理想情况下,应该使用检查。但是对于开发阶段,PHP足够聪明,可以给出关于缺少条目的提示。如果输入值已经被约束/断言,那么就不需要了。)您肯定需要2个等号作为=is赋值,您想使用If/else吗?在这种情况下最好使用switch,您确实需要使用
==
。你说的“让事情变得更糟”是什么意思?似乎你需要花更少的时间在酒吧里,花更多的时间在代码上;)第一个=
是赋值运算符,=
是条件运算符,将在if
中使用。另外,对于您的逻辑开关/case
方法,我认为更合适。您肯定需要2个等号作为=is赋值。您想特别使用if/else吗?在这种情况下最好使用switch,您确实需要使用==
。你说的“让事情变得更糟”是什么意思?似乎你需要花更少的时间在酒吧里,花更多的时间在代码上;)第一个=
是赋值运算符,=
是条件运算符,将在if
中使用。另外,对于您的逻辑开关/case
方法,我认为更合适。当我们添加两个等号时,整个echo语句