Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    [php] comportamento anomalo di switch

    Dato questo codice...
    Codice PHP:
    $i ;

    switch (
    $i) {

    case 
    $i 1:
       echo 
    "i è minore di 1";
       break;

    case 
    $i 1:
       echo 
    "i è maggiore di 1";
       break;

    default:
       echo 
    "i è uguale a 1";

    ...perchè il risultato è "i è maggiore di 1" invece di "i è minore di 1" ? :master:
    Errare humanum est, perseverare ovest

  2. #2
    non puoi mettere una condizione come "case"... case dev'essere un valore...

    la condizione va nello switch...

    quindi:
    $i = 0;

    switch ($i > 1) {

    case true:
    echo "$i è maggiore di 1";
    break;

    case false:
    echo "$i è minore di 1";
    break;


    default:
    echo "$i è uguale a 1";
    }

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    accidenti, già alla mattina mi perdo in queste fagianate
    grazie
    Errare humanum est, perseverare ovest

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    codice:
    $i = 1 ;
    
    switch ( $i > 1 ) {
    
    case true:
       echo "i è maggiore di 1";
       break;
    
    case false:
       echo "i è minore di 1";
       break;
    
    default:
       echo "i è uguale a 1";
    }
    però in questo caso il controllo si ferma al false e me lo dà minore di 1 invece che uguale. in questo caso forse è meglio lavorare con if ?
    Errare humanum est, perseverare ovest

  5. #5
    Originariamente inviato da carlo2002
    però in questo caso il controllo si ferma al false e me lo dà minore di 1 invece che uguale. in questo caso forse è meglio lavorare con if ?
    Beh.. infatti 1 non è maggiore di 1....

    Sì.. usare lo switch per una cosa del gener eè un po' come utilizzare una pressa industriale per schiacciare le noci

  6. #6
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    ok
    Errare humanum est, perseverare ovest

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.