@dev400

Как в сокращенном if использовать только 1 вариант?

Допустим если $id не false нужно показать его.
Хочу сделать так
<?= !$id ?: 'id = ' . Html::encode($id) ?>
но когда $id === false выводится единица, а по идее ничего не должно выводиться.
  • Вопрос задан
  • 168 просмотров
Решения вопроса 2
mannaro
@mannaro
Умею профессионально гуглить
Это не "сокращенный if". Это - тернарный оператор. Само слово означает "троичный" ибо состоит из 3 частей: условие, первая ветка, вторая ветка. Выводится 1 потому что !false => true => 1. Так работает echo в php.
Ответ написан
Комментировать
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
<?= $id ? 'id = ' . Html::encode($id) : '' ?>
Так устроит?
А вообще уточните версию php :)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы