Powiel możliwe:
quick php syntax questionPytanie dotyczące składni PHP: Co oznacza znak zapytania i dwukropek?
return $add_review ? FALSE : $arg;
Czego znak zapytania i dwukropek oznacza?
Dzięki
Powiel możliwe:
quick php syntax questionPytanie dotyczące składni PHP: Co oznacza znak zapytania i dwukropek?
return $add_review ? FALSE : $arg;
Czego znak zapytania i dwukropek oznacza?
Dzięki
to jest PHP ternary operator (znany również jako operator warunkowy) - jeżeli pierwszy operand ocenia prawda, ocenia jako drugiego argumentu, jeszcze ocenić jako trzeci argument.
Pomyśl o tym jako o wyrażeniu "jeśli", którego możesz używać w wyrażeniach. Może być bardzo przydatny w wykonywaniu zwięzłych zadań, które zależą od pewnych warunków, np.
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
Istnieje również wersja skrócona tego (w PHP 5.3). Możesz pominąć środkowy operand. Operator oceni jako pierwszy operand, jeśli jest prawdziwy, a trzeci operand w przeciwnym wypadku. Na przykład:
$result = $x ?: 'default';
Warto wspomnieć, że powyższy kod przy użyciu czyli $ _GET lub $ _POST zmiennej rzuci niezdefiniowanej zawiadomienie indeksu oraz zapobieganie że musimy użyć dłuższą wersję, z isset
lub a null coalescing operator który jest wprowadzone w PHP7:
$param = $_GET['param'] ?? 'default';
Od PHP 5.3 możliwe jest również pominięcie środkowej części operatora trójskładnikowego. Wyrażenie "wyrażenie1?: Wyrażenie3" zwraca 'wyrażenie1', jeśli wyrażenie" wyr1 "ma wartość PRAWDA, a wyrażenie" wyr3 "w przeciwnym razie. – Chandrew
Dobra uwaga, będę aktualizować ... –
Jest to trójskładnikowa forma operatora if-else. Powyższe stwierdzenie w zasadzie brzmi tak:
if ($add_review) then {
return FALSE; //$add_review evaluated as True
} else {
return $arg //$add_review evaluated as False
}
Zobacz tutaj po więcej szczegółów dotyczących potrójnego op w PHP: http://www.addedbytes.com/php/ternary-conditionals/
Przepraszamy, próbując zrozumieć ten @cristianivascu, jak by to przeczytać - Php echo ($ active_page == 'home'? 'Active': '');?> –
Jeśli value w $ active_page jest równy ciągowi 'home', który wydrukowałby 'active', w przeciwnym razie wydrukowałby pusty ciąg znaków. –
Dokładny duplikat: http://stackoverflow.com/questions/889373/quick-php-syntax -pytanie –
dobrze nakrapiany, prawie ten sam tytuł też. –
Dzięki za link. –