我一直在研究这段代码大约一个小时,似乎无法弄清楚为什么它不起作用。 PHP允许在While循环中使用If / Else语句吗?我尝试在If / Else语句中添加不同的回声,后者(Else)不会显示。这是因为我正在尝试使用相同的变量名称吗?
while($row = mysql_fetch_array($result))
{
//assign variables
$title = $row['title'];
$file_url = $row['file_location'];
$category = $row['category'];
$layout = $row['layout'];
If ($layout = "vertical")
{
//Page Layout
$BODYLAYOUT = "vertical_body";
$GAMECONTAIN = "vertical_gameContain";
$GAMEWIDTH = "vertical_game";
}
Else
{
// Page Layout
$BODYLAYOUT = "horizontal_body";
$GAMECONTAIN = "horizontal_gameContain";
$GAMEWIDTH = "horizontal_game";
}
答案 0 :(得分:6)
if ($layout = "vertical")
应该是:
if ($layout == "vertical")
否则,你正在为'vertical'的布局赋值,而不是比较它的值,看它是否等于'vertical'。否则该赋值将等于true,因为第一部分运行而ELSE没有。
我用来防止这样的事故的一种方法是将常数放在第一位,例如:
if ("vertical" == $layout)
这样一来,如果我错过了其他=符号,PHP将会出错,而不是错误地分配值。