Как работает сокращение, если / еще работает? [PHP]

Я пытался перевести мой PHP в сокращенную версию, просто для удовольствия узнать что-то новое, но я не могу заставить мой работать. Я посмотрел на множество других вопросов об этом в SO, но не смог адаптировать ни один из них к моей ситуации.

Что я хочу перевести на стенографию:

if ($active_page === "front-page") {echo $active_page;}

Что я имею:

echo ($active_page === 'front-page') ? 'front-page'; < Не работает

Я знаю, что это очень короткое предложение, но просто ради того, чтобы узнать что-то новое, я хочу сделать его сокращенным. Предоставляя мне решение, пожалуйста, постарайтесь объяснить, что я делаю неправильно, и как правильно подойти к нему в будущем.

0

Решение

Правильный синтаксис

condition ? then statement : else statement;

Обратите внимание, оператор else должен присутствовать. Как показывают комментарии, остальное может быть ''

1

Другие решения

Способ определить это

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.';
1

По вопросам рекламы [email protected]