Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Dubbio "switch".

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    108

    Dubbio "switch".

    Salve a tutti, volevo porre un piccolo caso.
    Come posso usare la funzione "oppure" dentro lo switch?
    Faccio un esempio con if:
    codice:
    if ($blabla=="ciao" or $blabla=="addio")

  2. #2
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    Non ho capito
    puoi spiegare un po meglio ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    108
    Scusami, ho scritto di fretta.
    Allora, dovrei usare lo switch in questo modo...

    codice:
    switch ($nome) {
    case 'federico' OR 'enrico':
    print "il tuo nome finisce per ico"
    break;
    case 'gigi' OR 'luigi':
    print "il tuo nome finisce per gi"
    }
    Così non funziona.
    Come posso fare?

  4. #4
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Codice PHP:
    switch ($nome) {
        case 
    'federico':
        case 
    'enrico':
            print 
    "il tuo nome finisce per ico";
            break;
        case 
    'gigi':
        case 
    'luigi':
            print 
    "il tuo nome finisce per gi";
            break;
        default:
            print 
    "non so";

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  5. #5
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    Ecco a te
    Codice PHP:
    switch ($nome) {
    case (
    $nome == "federico" || $nome == "enrico"):
    echo 
    "il tuo nome finisce per ico";
    break;
    case (
    $nome == "gigi"):
    print 
    "il tuo nome finisce per gi";


  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    108
    Grazie ad entrambi, gentilissimi.

  7. #7
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Originariamente inviato da DjBart
    Ecco a te
    Codice PHP:
    switch ($nome) {
    case (
    $nome == "federico" || $nome == "enrico"):
    echo 
    "il tuo nome finisce per ico";
    break;
    case (
    $nome == "gigi"):
    print 
    "il tuo nome finisce per gi";

    La cosa sarà anche funzionante ma non si può guardare. Spieghiamo perchè funziona. Iniziamo con il dire che ciò che si trova dopo il CASE viene valutato ovvero viene valutata l'espressione

    ($nome == "federico" || $nome == "enrico") piuttosto che ($nome == "gigi")

    l'operatore di confronto == ritorna true o false e l'operatore logico || ritorna anche'esso true o false.

    a questo punto viene valutato per effetto dell'istruzione switch $nome==... il true o il false a secondo dell'espressione precedente e dato che $nome valutato come boolean è true a meno che non sia la stringa vuota, lo switch esegue il ramo che presenta l'espessione nel CASE true.

    Nun se po' guardà!
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  8. #8
    Utente di HTML.it L'avatar di DjBart
    Registrato dal
    Jan 2009
    Messaggi
    346
    Io ho detto la prima cosa che mi e venuta in mente

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da Grino
    La cosa sarà anche funzionante ma non si può guardare.
    Non l'ho provato ma sono quasi sicuro che non funziona.......

  10. #10
    Funzina funziona...
    Il primo case infatti verrebbe true se il nome è federico o enrico, oppure false se il nome è gigi
    Il secondo al contrario viene false con federico o enrico e true con gigi.
    Alla fine il risultato è quello che ci si aspetta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.