Синтаксис PHP вопрос: Что означает знак вопроса и двоеточие? [дубликат]




Возможные Дубликаты:
быстрый вопрос синтаксиса php




return $add_review ? FALSE : $arg;


что означают вопросительный знак и двоеточие?



спасибо

872   2  

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

    Ничего не найдено.