Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [mini-sondaggio] If Vs Switch

    E' una domanda che mi pongo da tempo: è meglio usare uno switch o una serie di if e elseif??

    Il server cosa gradisce??

    Grazie.


  2. #2
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    il server gradisce un pò di tutto... io di solito uso gli if quando ho solo una struttura tipo

    if {

    } else {

    }


    se la cosa diventa più complicata, uso lo switch

  3. #3
    lo switch è notoriamente più performante, preferibile nella quasi totalità dei casi.

    Per aumentare le performances in parsers più o meno utili facilmente potrai notare una sintassi di questo tipo:
    codice:
    switch(true){
    
      case $pippo === $pluto:
             // ...
             break;
    
      case .... 
    
    }
    e via dicendo.

    Il ternario, per l'if else generico, è più performante ...
    codice:
    $pippo = $pluto ? "pluto" : "pippo";
    che può essere usato anche così:
    codice:
    $condizione ? doStuffTrue() : doStuffFalse();
    senza assegnazioni o altro ed usando parentesi per fare più operazioni.

    per leggibilità però l'if else o l'if elseif else è solitamente preferibile e se non si hanno più di 3 casistiche irrilevante per le performances
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    io cerco di non usare nè l'"if" nè lo "swich" nè il "?"
    Ad esempio:

    Codice PHP:
        function BoolToString ($theBool){
            
    assert ('($theBool >= 0) && ($theBool <= 1)');
            
    $kArray = array ("false""true");
            return 
    $kArray [$theBool];
        } 

  5. #5
    Originariamente inviato da MacApp
    io cerco di non usare nè l'"if" nè lo "swich" nè il "?"
    Ad esempio:

    Codice PHP:
        function BoolToString ($theBool){
            
    assert ('($theBool >= 0) && ($theBool <= 1)');
            
    $kArray = array ("false""true");
            return 
    $kArray [$theBool];
        } 
    uhmm e perchè questa scelta? php ci mette a disposizione degli ottimi strumenti senza doversi scervellare ad inventare nuove funzioni...

  6. #6
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Io voto switch...performance e leggibilità...

  7. #7
    Originariamente inviato da MacApp
    io cerco di non usare nè l'"if" nè lo "swich" nè il "?"
    Ad esempio:

    Codice PHP:
        function BoolToString ($theBool){
            
    assert ('($theBool >= 0) && ($theBool <= 1)');
            
    $kArray = array ("false""true");
            return 
    $kArray [$theBool];
        } 
    qui parliamo di performances, standards e leggibilità ... le asserzioni lasciale a Java
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    secondo me, l'if è meglio per funzioni, mentre lo switch per controllare valori.
    Esempio nel quale userei if:
    Codice PHP:
    if(isAdmin())
    { echo 
    "Pannello di controllo"; } 
    esempio nel quale userei switch:
    Codice PHP:
    switch($_GET['action'])
    {
     case 
    "modifica"$titolo="Modifica il post"; break;
     case 
    "nuovo"$titolo="Nuovo Post"; break;
     case 
    "thread"$titolo="Nuovo 3D"; break;


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.