Как работает сокращение, если / еще работает? [PHP]
Я пытался перевести мой PHP в сокращенную версию, просто чтобы узнать что-то новое, но я не могу заставить свою работу работать. Я посмотрел на множество других вопросов по этому поводу на SO, но не смог адаптировать ни один из них к моей ситуации.
Что я хочу перевести на стенографию:
if ($active_page === "front-page") {echo $active_page;}
Что я имею:
echo ($active_page === 'front-page') ? 'front-page';
<Не работает
Я знаю, что это очень короткое предложение, но только ради того, чтобы узнать что-то новое, я хочу сделать его сокращенным. Предоставляя мне решение, пожалуйста, постарайтесь объяснить, что я делаю неправильно, и как правильно подойти к нему в будущем.
2 ответа
Правильный синтаксис
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.';