Возможный дубликат:
быстрый синтаксический запрос php
return $add_review ? FALSE : $arg;
Что означают знак вопроса и двоеточие?
благодаря
Это тернарный оператор PHP (также известный как условный оператор) – если первый операнд оценивает true, оценивает его как второй операнд, а другой оценивает как третий операнд.
Подумайте об этом как о выражении «if», которое вы можете использовать в выражениях. Может быть очень полезно при выполнении кратких заданий, которые зависят от некоторого состояния, например
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
Также есть сокращенная версия этого (в PHP 5.3 и далее). Вы можете оставить средний операнд. Оператор будет оценивать как первый операнд, если он истинный, и третий операнд в противном случае. Например:
$result = $x ?: 'default';
Стоит отметить, что приведенный выше код при использовании переменной $ _GET или $ _POST вызывает неопределенное уведомление об индексе и предотвращает необходимость использования более длинной версии с isset
или нулевым коалесцирующим оператором, который вводится в PHP7:
$param = $_GET['param'] ?? 'default';
Это тройная форма оператора if-else. Вышеприведенное утверждение в основном гласит:
if ($add_review) then { return FALSE; //$add_review evaluated as True } else { return $arg //$add_review evaluated as False }
См. Здесь для более подробной информации о trernary op в PHP: http://www.addedbytes.com/php/ternary-conditionals/