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

    Serie di IF con Else uguali

    Ciao a tutti.
    Secondo voi è possibile scrivere con un po' più di eleganza questo tipo di codice?

    Codice PHP:
    if ( ... ){
          .......
          .......
          if ( ... ){
             .....
             if ( ... ){
                ... ;
             } else 
    functionA;
          } else 
    functionA;
    } else 
    functionA

    cioè non mi sembra elegante ripetere per tre vole lancio di functionA.
    Try catch? non saprei

    grazie!
    Ultima modifica di zoc; 10-03-2015 a 15:16

  2. #2
    tu lanci la funzione quando non si verificano le condizioni poste tra if (vedo che è sempre dopo else).

    quindi puoi risolvere con un

    Codice PHP:
    if(!condizione1 || !condizione2 || !condizione3){
    functionA

    basandoti quindi su || (OR) e ! (negazione).
    Pensate i programmi a librerie, e innalzate il livello d'astrazione

  3. #3
    Ciao Infocursi,
    non si può fare perché fra un if e l'altro ci sta altro codice erano i puntini....

  4. #4
    puo esserci tutto il codice che vuoi, ma tanto sarebbe fuori dal blocco:

    Codice PHP:
    if(!condizione1 || !condizione2 || !condizione3){
    functionA
    }  
    else{
    //tutto il codice di prima

    dentro l'else potrai ancora ritestare le varie condizioni ma almeno la chiamata a functionA l'avrai centralizzata in un unico punto.
    Pensate i programmi a librerie, e innalzate il livello d'astrazione

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Forse cosi.

    codice:
    <?php
    $flag = true;
    if ( ... ){
          .......
          .......
          if ( ... ){
             .....
             if ( ... ){
               $flag = false;
               .....
             }
          } 
    } 
    if ($flag) {functionA;}
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.