Синтаксис PHP вопрос: Что означает знак вопроса и двоеточие? [дубликат]
Возможные Дубликаты:
быстрый вопрос синтаксиса php
return $add_review ? FALSE : $arg;
что означают вопросительный знак и двоеточие?
спасибо
2 ответов:
это PHP тернарный оператор (также известный как условный оператор) - если первый операнд вычисляет true, вычислите как второй операнд, иначе вычислите как третий операнд.
подумайте об этом как о выражении" Если", которое вы можете использовать в выражениях. Может быть очень полезно при создании кратких заданий, которые зависят от некоторых условий, например
$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 }смотрите здесь для получения более подробной информации о тернарной op в PHP:http://www.addedbytes.com/php/ternary-conditionals/
Comments