if ($var <> "\r" && $var <> " ")
è equivalente a
if (!$var == "r" && !$var == " ")
Se no, che differenza c'è?
if ($var <> "\r" && $var <> " ")
è equivalente a
if (!$var == "r" && !$var == " ")
Se no, che differenza c'è?
Si, sono equivalenti; a parte l'errore di battitura ("r" nella seconda versione al posto di "\r").
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637
Boh io, essendo Javofilo, prediligo l'operatore di diseguaglianza !=
quello <> mi fa venire i brividi (vb) :P
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Errato, non sono equivalenti, mi son sbagliato... quando si fa di fretta!
Il fatto che non siano equivalnti dipende dal fatto che "!" viene eseguito prima di "==", per renderli equivalenti devi quindi usare le parentesi, modificando così il secondo:
[code:1:557a070d08]if ($var <> "\r" && $var <> " ")
è equivalente a
if (!($var == "\r") && !($var == " "))[/code:1:557a070d08]
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637
ah... infatti uno lo accettava, l'altro no...
ma nel primo caso il senso era
se (non $var == " ")
ma non $var come viene interpretata dal php, cioè cosa significa?
La variabile viene convertita automaticamente in booleana quando gli si applica un operatore logico; il modo in ci viene convertita è identico a come descritto qui: http://www.php.net/manual/it/languag...oolean.casting
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637
ok ho letto... tutto chiaro, grazie!
Originalmente inviato da gve
Leggermente OT:
voi che ne dite della sintassi alternativa per le if:
solita
[code:1:531c7dd528]if ($a == $b) {
$c = 1;
} else {
$c = 2;
}[/code:1:531c7dd528]
alternativa
[code:1:531c7dd528]$c = ($a == $b) ? 1 : 2;[/code:1:531c7dd528]
?
Io la trovo utilissima in casi "veloci", ma devo ammettere che e' bruttina da leggere.
bruttina ??? è bellissima oltre che comodissima.....
guarda questa:
[code:1:c208e1ca3f]echo "a>b? ";
if ($a>$b)
echo " si";
else
echo " no";
echo " fine operazione";
[/code:1:c208e1ca3f]
e
[code:1:c208e1ca3f]echo "a>b? ".(($a>$b)?" si": " no")." fine operazione";[/code:1:c208e1ca3f]
Io adoro le espressioni sintetiche ... quindi son d'accordo con Jole.
Inoltre faccio presente che non è propriamente una sintassi alternativa, ma che sono due cose diverse: if ... else è una struttura di controllo, un costrutto del linguaggio che serve a controllare in modo condizionale il flusso degli altri elementi dello script, mentre "? :" è un operatore (ovviamente booleano), ovvero qulcosa di più simile a una somma, e come tale restituisce un valore booleano.
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637
:D
Io insisto che e' meno elegante. Sulla utilita' siamo tutti d'accordo.
![]()
Vuoi mettere l'eleganza del secondo codice scritto da Jole nel suo esempio rispetto al primo? Molto meglio il secondo :p
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637