Как использовать троичный оператор (?:) В PHP как сокращение для «если / еще»? - PullRequest
94 голосов
/ 02 октября 2009

Исходя из примеров с этой страницы , у меня есть примеры рабочего и нерабочего кода ниже.

Рабочий код с использованием оператора if:

if (!empty($address['street2'])) echo $address['street2'].'<br />';

Неработающий код с использованием троичного оператора:

$test = (empty($address['street2'])) ? 'Yes <br />' : 'No <br />';

// Also tested this
(empty($address['street2'])) ? 'Yes <br />' : 'No <br />';

ОБНОВЛЕНИЕ
После подсказки Брайана я обнаружил, что вывод $test дает ожидаемый результат. Следующее работает как шарм!

echo (empty($storeData['street2'])) ? 'Yes <br />' : 'No <br />';

Ответы [ 11 ]

0 голосов
/ 07 декабря 2013

Я думаю, что вы использовали скобки неправильно. Попробуйте это:

$test = (empty($address['street2']) ? 'Yes <br />' : 'No <br />');

Я думаю, что это должно работать, вы также можете использовать:

echo (empty($address['street2']) ? 'Yes <br />' : 'No <br />');
...