Eventuali duplicati:
quick php syntax questionDomanda di sintassi PHP: cosa significa punto interrogativo e due punti?
return $add_review ? FALSE : $arg;
Cosa punto interrogativo e del colon significa?
Grazie
Eventuali duplicati:
quick php syntax questionDomanda di sintassi PHP: cosa significa punto interrogativo e due punti?
return $add_review ? FALSE : $arg;
Cosa punto interrogativo e del colon significa?
Grazie
Questo è il PHP ternary operator (noto anche come operatore condizionale) - se primo operando valutata vera, valutare come secondo operando, altrimenti valutare come terzo operando.
Pensa a una dichiarazione "se" che puoi usare nelle espressioni. Può essere molto utile per fare assegnazioni concise che dipendono da alcune condizioni, ad es.
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
C'è anche una versione abbreviata di questo (in PHP 5.3 in poi). Puoi escludere l'operando centrale. L'operatore valuterà come primo operando se vero e il terzo operando in caso contrario. Per esempio:
$result = $x ?: 'default';
Vale la pena ricordare che il codice di cui sopra quando si utilizza cioè $ _GET o $ _POST variabile getterà preavviso indice indefinito e di evitare che abbiamo bisogno di usare una versione più lunga, con isset
o a null coalescing operator che è introdotto in PHP 7:
$param = $_GET['param'] ?? 'default';
Dal PHP 5.3, è anche possibile escludere la parte centrale dell'operatore ternario. Espressione 'espr1?: Expr3' restituisce' espr1' se 'espr1' restituisce TRUE e 'espr3' in caso contrario. – Chandrew
Buon punto, aggiornerò ... –
È la forma ternaria dell'operatore if else. La dichiarazione di cui sopra si legge sostanzialmente in questo modo:
if ($add_review) then {
return FALSE; //$add_review evaluated as True
} else {
return $arg //$add_review evaluated as False
}
Vedi qui per maggiori dettagli su op ternario in PHP: http://www.addedbytes.com/php/ternary-conditionals/
Mi dispiace se provo a capire questo @cristianivascu come dovrebbe essere - Php echo ($ active_page == 'home'? 'Active': '');?> –
Se il il valore in $ active_page è uguale alla stringa 'home' che verrebbe stampato 'active', altrimenti stamperebbe una stringa vuota. –
duplicato esatto: http://stackoverflow.com/questions/889373/quick-php-syntax -question –
ben individuato, quasi lo stesso titolo. –
Grazie per il link. –