PHP Упростить троичную операцию - PullRequest
2 голосов
/ 14 июня 2010

В PHP есть способ упростить это еще больше, без использования if()?

$foo = $bar!==0 ? $foo : '';

Мне было интересно, есть ли способ не переназначить $foo себе, еслисостояние удовлетворено.Я понимаю, что есть способ сделать это в Javascript (используя &&, верно?), Но мне было интересно, есть ли способ сделать это в PHP.

Ответы [ 2 ]

9 голосов
/ 14 июня 2010

В PHP 5.3 наконец появилась краткая форма троичного оператора, поэтому вы можете сделать следующее:

$foo = $bar ?: '';

См. раздел Операторы сравнения - "Начиная с PHP 5.3,можно опустить среднюю часть троичного оператора. Выражение expr1?: expr3 возвращает expr1, если expr1 имеет значение TRUE, и expr3 в противном случае. "

5 голосов
/ 14 июня 2010

Да, вы также можете использовать логический оператор и (&&) в PHP.

$bar === 0 && $foo = '';
...