Perché il PHP ha due “diverso da” operatori (! = E <>) [duplicato]
-
12-09-2019 - |
Domanda
Questa domanda ha già una risposta qui:
mi è capitato di imbatterci in un pezzo di codice PHP e poteva vedere autore utilizzato <>
di fare un non uguale a confronto:
if ($variable <> "") {
echo "Hello, I am having some value";
}
!=
Ho sempre usato:
if ($variable != "") {
echo "Hello, I am having some value";
}
Ci sono circostanze speciali, quando dovrei usare <>
sopra !=
?
Soluzione
Credo che l'operatore <> è stato implementato in PHP, perché è presente in alcune altre lingue (SQL, per esempio)
Sia <> e = significa quasi esattamente la stessa cosa: l'unica differenza sono riuscito a trovare è legato alla loro precedenza: vedi Operatore precedenza : non sono sulla stessa linea ^^ (che significa che c'è una differenza, dopotutto, tra coloro due)
Anche se, devo ammettere che non ho mai visto la <> usato in PHP.
Si noti che le persone usano generalmente =!; probabilmente si dovrebbe fare lo stesso:. renderà il vostro codice più facile da capire
E, a proposito, hai anche la == operatore, che fa digitare confronto troppo!; ma non v'è alcuna << >> operatore o qualcosa di simile ^^
Come riferimento: Operatori di confronto
Altri suggerimenti
Credo che quando il PHP è stato sviluppato, uno degli obiettivi di progettazione è stato quello di rendere il linguaggio flessibile, che è il motivo per cui hanno portato in ogni tipo loop e ogni tipo di operatore che si possa pensare.
<>
è leggermente diversa rispetto !=
in termini di precedenza categoria, ma gli operatori che vengono tra loro significa che non c'è alcuna differenza pratica di sorta.
Buona domanda. Sono gli stessi, a parte una sottile differenza: <> ha precedenza maggiore oltre! =
Perché li hanno? Giusto per far funzionare le cose come ci si potrebbe aspettare. PHP è un miscuglio di idee prese in prestito, e dove un programmatore C potrebbe preferire $foo != $bar
, qualcuno con una preparazione di base potrebbe trovare $foo <> $bar
facile per gli occhi. Ognuno di loro!
Hanno molto vicino, ma un po ' diverse precedenze , ma non riesco a vedere qualsiasi momento che sarebbe utile.