Каковы различные способы написания, если условные выражения используют PHP?
Я знаю, например, следующее
if($test == 1){ }else{ } а также
 if($test == 1) echo 'asdsa'; else echo 'sdaaa'; 
        
    Существует альтернативный синтаксис структуры управления :
 if ($text == 1): echo 'asdsa'; else: echo 'asdsa'; endif; 
Другой способ – использовать тернарный оператор . Пример в документации PHP:
 <?php // Example usage for: Ternary Operator $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; // The above is identical to this if/else statement if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?> 
  Другие структуры управления также описаны в руководстве по PHP .  Единственными условными утверждениями являются тернарный условный оператор, if (и else ), а elseif или else if .  Однако они имеют альтернативный синтаксис . 
 echo ($test == 1) ? 'asdsa' : 'sdaaa'; 
Помимо того, что уже было сказано, есть такие вещи, как
 $sql_link = mysql_connect('localhost', 'root') or die('no mysql'); 
Или как альтернативный синтаксис для структур управления
(присваивание «ИЛИ» – это трюк :), если mysql_connect () не evaulate к true, PHP попытается оценить второе выражение, так что это действительно взломать:
 if (mysql_connect('localhost', 'root')) { $sql_link = true; } else { die('no mysql'); } 
)
Стандартная инструкция if:
 if(expression) { // code } elseif(expression) { // code } else { // code } 
Без привязок для отдельных строк кода после каждого утверждения:
 if(expression) // single line of code elseif(expression) // single line of code else // single line of code 
Синтаксис альтернативного управления:
 if(expression): // code elseif(expression): // code else: // code endif; 
И, наконец, троичный оператор:
 (expression ? expression_if_true : expression_if_false); 
Который также может быть записан как:
 (expression) ? expression_if_true : expression_if_false; 
Или без скобок, если хотите.
Не забывайте, что «Условная сложность» – это запах кода. Полиморфизм – ваш друг.
Условная логика невинна в зачаточном состоянии, когда ее легко понять и содержать в нескольких строках кода. К сожалению, он редко стареет. Вы реализуете несколько новых функций, и вдруг ваша условная логика становится сложной и экспансивной. [Джошуа Керевский: Рефакторинг для шаблонов]
Одна из самых простых вещей, которую вы можете сделать, чтобы избежать вложенных блоков, чтобы научиться использовать Оговорки о безопасности . (Примечание: это не синтаксис PHP. Рассматривайте его как псевдокод. Приемы здесь важны.)
 double getPayAmount() { if (_isDead) return deadAmount(); if (_isSeparated) return separatedAmount(); if (_isRetired) return retiredAmount(); return normalPayAmount(); }; 
Другая вещь, которую я нашел, упрощает все, что делает ваш код самодокументированным, – это условные условные обозначения.
 double disabilityAmount() { if (isNotEligableForDisability()) return 0; // compute the disability amount 
Другие ценные методы рефакторинга , связанные с условными выражениями, включают Decompose Conditional , Replace Conditional with Visitor и Converse Converse .
Теперь, когда у вас есть новые молотки, не позволяйте всему выглядеть как гвоздь!
 if($test == 1){ }else{ } # can only be used if performing 1 line of code after statement if($test == 1) echo 'asdsa'; else echo 'sdaaa'; #you can have as many elseif as you like (but you may wish to check out switch see below: if($test == 1){ }elseif{ }else{ } 
Также взгляните на переключатель () http://php.net/manual/en/control-structures.switch.php
 switch($test) { case "1" : break; case "2" : break; default : break; } 
Прямо из руководства PHP :
 <?php if ($a == 5): echo "a equals 5"; echo "..."; elseif ($a == 6): echo "a equals 6"; echo "!!!"; else: echo "a is neither 5 nor 6"; endif; ?>