Комбинированный режим switch
Хотел сделать комбинированный режим PHP+HTML с конструкцией switch, но я как всегда сделал ошибку. Что я сделал не так?
<?php
$a = 2;
?>
<?php switch($a): ?>
<?php case 1: ?>
<div class =""> вода </div>
<?php break; ?>
<?php case 2: ?>
<div class =""> дерево </div>
<?php break; ?>
<?php default: ?>
<div class =""> ничего не найдено </div>
<?php break; ?>
<?php endswitch; ?>
Код без пробелов:
<?php
$a = 2;
?>
<?php switch($a): ?>
<?php case 1: ?>
<div class ="">вода</div>
<?php break; ?>
<?php case 2: ?>
<div class ="">дерево</div>
<?php break; ?>
<?php default: ?>
<div class ="">ничего не найдено</div>
<?php break; ?>
<?php endswitch; ?>
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Из документации:
Внимание
Любой вывод (включая пробельные символы) между выражением switch и первым case приведут к синтаксической ошибке. Например, данный код не будет работать:
<?php switch ($foo): ?> <?php case 1: ?> ... <?php endswitch ?>
В то же время следующий пример будет работать, так как завершающий перевод строки после выражения switch считается частью закрывающего ?> и следовательно ничего не выводится между switch и case:
<?php switch ($foo): ?> <?php case 1: ?> ... <?php endswitch ?>
В конце строк у вас полно пробелов. Между строк тоже.