2014-01-03 9 views
0

Что означает эта строка кода PHP? То есть, бит знака вопроса, за которым следует true, двоеточие, ложь?Что означает синтаксис этого PHP? (вопросительные знаки)

return(isset($_SESSION['id'])) ? true : false; 
+0

Стенография для если (а = Ь) {с} еще { d} –

+4

В этом случае это бесполезно. 'return isset ($ _ SESSION ['id']);' делает то же самое. Кто-то пытался получить фантазию и в итоге выглядел как идиот. – jeremy

ответ

1

Это 's ternary operator.

Это просто стенография для:

if (isset($_SESSION['id'])) 
    return true; 
else 
    return false; 
0

Это тройная operator.short для

if(isset($_SESSION['id'])){ 
    return true; 
}else{ return false;} 

Однако это бесполезно, потому что Исеть() уже возвращает истину или ложь

-1

? boolean-condition [action] : [action] является ternary conditional operator и короток для:

if ([condition]) { [action] } else { [action] }

+1

Удивлен, что пользователь 9k + ответил бы на дубликат ...: facepalm: – jeremy

+0

Скорее разочаровывает, что пользователь будет опасаться об этом – hd1

+0

Исходя из репутации, у которого есть 9k +, но все еще отвечает на дубликаты -.- – jeremy

1

То же, что:

if isset($_SESSION['id']) { 
    return true; 
} else { 
    return false; 
} 
1

синтаксис для троичных операторов в PHP

Он работает как (Condition to evalute) ?(Return result if condition is true) : (return result if condition is false)

в вашей корпус r eturn(isset($_SESSION['id'])) ? true : false;

если установлено $_SESSION['id'], оно вернет true, и если сеанс не установлен, он вернет false.

? метка эквивалентны, если заявление в то время как : для остальных

Это короткая форма if else заявления

ссылка: http://davidwalsh.name/php-shorthand-if-else-ternary-operators

Смежные вопросы