Я пытался перевести мой PHP в сокращенную версию, просто для удовольствия узнать что-то новое, но я не могу заставить мой работать. Я посмотрел на множество других вопросов об этом в SO, но не смог адаптировать ни один из них к моей ситуации.
Что я хочу перевести на стенографию:
if ($active_page === "front-page") {echo $active_page;}
Что я имею:
echo ($active_page === 'front-page') ? 'front-page';
< Не работает
Я знаю, что это очень короткое предложение, но просто ради того, чтобы узнать что-то новое, я хочу сделать его сокращенным. Предоставляя мне решение, пожалуйста, постарайтесь объяснить, что я делаю неправильно, и как правильно подойти к нему в будущем.
Правильный синтаксис
condition ? then statement : else statement;
Обратите внимание, оператор else должен присутствовать. Как показывают комментарии, остальное может быть ''
Способ определить это
statement ? true : false;
Так что для вашего примера вам также нужно ложное значение.
echo ($active_page === 'front-page') ? 'front-page' : 'Some default value.';
Вот ссылка Я обнаружил, что есть хорошая информация о них.
Одним из пунктов этой ссылки, в случае ее разрыва, является то, что вы можете вкладывать встроенные if.
echo ($active_page === 'front-page') ? (($somevar > 5) ? 'Above 5' : 'Below 5') : 'Some default value.';