Visualizzazione risultati 1 fino 12 di 12

Discussione: equivalenze di if

  1. #1
    Guest

    Predefinito

    if ($var <> "\r" && $var <> " ")
    è equivalente a
    if (!$var == "r" && !$var == " ")

    Se no, che differenza c'è?

  2. #2
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    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

  3. #3
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    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)

  4. #4
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    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

  5. #5
    Guest

    Predefinito

    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?

  6. #6
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    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

  7. #7
    Guest

    Predefinito

    ok ho letto... tutto chiaro, grazie!

    Citazione Originalmente inviato da gve
    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

  8. #8
    Guest

    Predefinito

    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.

  9. #9
    Guest

    Predefinito

    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]

  10. #10
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    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

  11. #11
    Guest

    Predefinito

    :D

    Io insisto che e' meno elegante. Sulla utilita' siamo tutti d'accordo.


  12. #12
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    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

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •