PHP domanda sintassi: Che cosa fa il punto interrogativo e del colon significa? [duplicare]
-
16-09-2019 - |
Domanda
Eventuali duplicati:
domanda sintassi php rapida
return $add_review ? FALSE : $arg;
Cosa punto interrogativo e del colon significa?
Grazie
Soluzione
Questo è il PHP operatore ternario (noto anche come operatore condizionale) -. se primo operando viene valutata vera, valutare come secondo operando, altrimenti valutare come terzo operando
Pensate a come un "if" è possibile utilizzare nelle espressioni. Può essere molto utile nel fare le assegnazioni concisi che dipendono da alcune condizioni, per es.
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
C'è anche una versione abbreviata di questo (in PHP 5.3 in poi). È possibile lasciare fuori l'operando mezzo. L'operatore valuterà come primo operando se vero, e il terzo operando altrimenti. Ad 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 un operatore di nulla coalescenza che viene introdotto in PHP7:
$param = $_GET['param'] ?? 'default';
Altri suggerimenti
E '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 / ternari-condizionali /