как создать троичное выражение php, содержащее только оператор if

Как мне создать троичное выражение php, содержащее оператор if без части else? Вот что я попробовал:

$vn = condition ? expression1 ;

И это то, что я пытаюсь достичь

if(condition) {
$vn = expression1;
}

в

$vn = condition ? expression1 ;

1

Решение

Вы можете использовать ту же переменную в else часть:

$vn = condition ? expression1 : $vn ;

Обратите внимание, что это создает уведомление, если $vn не был использован раньше.

3

Другие решения

Если вы используете PHP 7, вы можете рассмотреть Null Coalescing Operator,

В некоторых случаях синтаксис похож на то, что вы, похоже, ищете:

$email = $_POST['email'] ?? 'none';

// is the same as:
$email = isset($_POST['email']) ? $_POST['email'] : 'none';
0

(condition) AND ($vn = expression1);

тоже работает

И только как информация:

$v = condition?:expression1

также возможно, здесь condition (в случае) разбирается на $v

0
По вопросам рекламы [email protected]