Как работает сокращение, если / еще работает? [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.';
Другие вопросы по тегам