PHP If/Else语句在While循环中不起作用

Kyl*_*ger 2 php if-statement while-loop

我一直在研究这段代码大约一个小时,似乎无法弄清楚它为什么不起作用.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";
    }
Run Code Online (Sandbox Code Playgroud)

cry*_*c ツ 6

if ($layout = "vertical")   
Run Code Online (Sandbox Code Playgroud)

应该:

if ($layout == "vertical")   
Run Code Online (Sandbox Code Playgroud)

否则你正在为'vertical'的布局赋值,而不是比较它的值,看它是否等于'vertical'.否则该赋值将等于true,因为第一部分运行而ELSE没有.

我用来防止这种事故的一种方法是将常数放在第一位,例如:

if ("vertical" == $layout)   
Run Code Online (Sandbox Code Playgroud)

这样,如果我错过了其他=符号PHP会出错,而不是错误地分配值.