шорт код switch

229
09 июля 2017, 14:20

Здравствуйте
как правильнее написать такой код

<?php switch($index) : ?>
<?php case '1' : ?>
    <div><?= $index+1; ?></div>
    <?php break; ?>
<?php case '2' : ?>
    <div><?= $index+10; ?></div>
    <?php break; ?>
<?php default : ?>
    <div><?= $index+100; ?></div>
<?php endswitch; ?>

не удобно так писать

<?php switch($index) {
case '1' : echo '<div>'.$index+1.'</div>';
break;
case '2' : echo '<div>'.$index+10.'</div>';
break;
default : echo '<div>'.$index+1.'</div>';

}

потому что в коде html, надо много чего написать и html и php. с конкатами будет трудно разбираться.
Написал такой вариант но думаю это плохой.

<?php switch($index) {
case '1' : if(true) : ?>
    <div><?= $index+1; ?></div>
    <?php break; ?>
    <? endif; 
case '2' : if(true) : ?>
    <div><?= $index+10; ?></div>
    <?php break; ?>
    <? endif; 
default : if(true) : ?>
    <div><?= $index+100; ?></div>
    <? endif; 
} ?>

подскажите пожалуйста как лучше.

Answer 1

Всем спасибо.
Вариант такой:

<? $index=2;
switch($index) : ?>
<? case '1' : ?> <div><?= $index+1; ?></div>
<? break; ?>
<? case '2' : ?> <div><?= $index+10; ?></div>
<? break; ?>
<? default : ?> <div><?= $index+100; ?></div>
<?php endswitch; ?>
READ ALSO
Присвоить url параметрам фильтра

Присвоить url параметрам фильтра

Столкнулся с задачей присвоить (определить) SEO-ссылку для всех значений фильтраВручную прописать нельзя, так как формируется из переменных

263
PHP замена текста между символами

PHP замена текста между символами

Есть к примеру такая строка:

239
Ошибка компиляции C++: expected primary-expression before ‘)’ token

Ошибка компиляции C++: expected primary-expression before ‘)’ token

Подскажите, пожалуйста, что здесь не такПо идее, программа должна в зависимости от введённых сторон треугольника сообщать, существует такой,...

580
Не вызывается mousePressEvent в QGraphicsRectItem

Не вызывается mousePressEvent в QGraphicsRectItem

Есть у меня класс LifeView, унаследованный от QGraphicsView для отрисовки сцены LifeScene (унаследованная от QGraphicsScene)На сцене изображаются элементы LifeCell...

309