Как мне создать троичное выражение php, содержащее оператор if без части else? Вот что я попробовал:
$vn = condition ? expression1 ;
И это то, что я пытаюсь достичь
if(condition) {
$vn = expression1;
}
в
$vn = condition ? expression1 ;
Вы можете использовать ту же переменную в else
часть:
$vn = condition ? expression1 : $vn ;
Обратите внимание, что это создает уведомление, если $vn
не был использован раньше.
Если вы используете PHP 7, вы можете рассмотреть Null Coalescing Operator
,
В некоторых случаях синтаксис похож на то, что вы, похоже, ищете:
$email = $_POST['email'] ?? 'none';
// is the same as:
$email = isset($_POST['email']) ? $_POST['email'] : 'none';
(condition) AND ($vn = expression1);
тоже работает
И только как информация:
$v = condition?:expression1
также возможно, здесь condition
(в случае) разбирается на $v