Intereting Posts

PHP Если оператор / Else не работает в цикле While

Я работаю над этим фрагментом кода около часа и не могу понять, почему он не работает. Предоставляет ли PHP инструкции If / Else внутри циклов While? Я попытался добавить разные эхо-сигналы к операторам 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"; } 

 if ($layout = "vertical") 

должно быть:

 if ($layout == "vertical") 

В противном случае вы оцениваете значение $ layout of 'vertical', противоположное сравнению его значения, чтобы увидеть, равно ли оно «вертикали». Это назначение в противном случае будет равно true, причина, по которой выполняется первая часть, а ELSE – нет.

Один из методов, который я использую для предотвращения таких несчастных случаев, – это сначала поставить константу, такую ​​как:

 if ("vertical" == $layout) 

Таким образом, если я пропущу другой = знак PHP будет ошибкой, а не присваивать значение ошибочно.