PHP domanda sintassi: Che cosa fa il punto interrogativo e del colon significa? [duplicare]

StackOverflow https://stackoverflow.com/questions/1276909

  •  16-09-2019
  •  | 
  •  

Domanda

  

Eventuali duplicati:
   domanda sintassi php rapida

return $add_review ? FALSE : $arg;

Cosa punto interrogativo e del colon significa?

Grazie

È stato utile?

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 /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top