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

Discussione: IF come funzione

  1. #1

    IF come funzione

    Scusate la domanda banale, ma è difficile trovare una risposta con la ricerca...
    Esiste (ma penso proprio di si) una funzione o notazione php che esegua un IF e restituisca un valore? Esempio (ovviamente non funziona):

    print("xxx".if(1=1){"yyy"}else{"zzz"}."xxx");

    In VB (asp.net) esiste la funzione Switch(condizione 1, ritorno 1, condizione 2, ritorno 2...) (è omonima della switch php, ma è solo un caso). Conoscete un analogo php?
    <ciao><Enrico/></ciao>

  2. #2
    scusa la domanda banale, ma forse non ho capito la tua richiesta...perché non puoi usare lo switch anche nel php? :master:
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Switch e if non sono funzioni, ma "strutture", cioè stanno fra graffe {} e non possono essere usate dentro a espressioni come ad esempio una concatenazione
    <ciao><Enrico/></ciao>

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    se ho capito quello che vuoi.... puo' interessarti questo...
    http://forum.html.it/forum/showthrea...hreadid=987151

    No pvt per sollecitare risposte, grazie.

  5. #5
    allora davvero non ho capito cosa vuoi fare :master:


    metti uno switch dentro una funzione che dichiari tu...

    Codice PHP:
    <?php
    function SwitchCheRitorna$valore ){
        switch ( 
    $valore ){
            case 
    'uno':
                return 
    "valore uno";
                break;
            case 
    'due':
                return 
    "valore due";
                break;
            case 
    'tre':
                return 
    "valore tre";
                break;
            default:
                return 
    "default value";
                break;
        }
    }

    // e la concatenazione la farai così
    echo "testo prima bla bla bla [b]".SwitchCheRitorna'tre' )."[/b] testo dopo bla bla bla";
    ?>
    il break l'ho messo perché la funzione switch lo richiede...ma in questo caso essendoci già i return forse poteva essere tralasciato.
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: IF come funzione

    Codice PHP:
    print("xxx". (1==1) ? "yyy" "zzz" "xxx"); 

  7. #7
    la storia dell'if abbreviato può andar bene se ci sono due casi (volendo anche per 3) ma quando cominciano ad essercene di più non è più funzionale uno switch?

    cioè scrivere una cosa del genere:
    Codice PHP:
    $val=4;
    echo (
    $val==1) ? "uno" : (($val==2) ? "due" : (($val==3) ? "tre" : (($val==4) ? "quattro" "cinque"))); 
    secondo me potrebbe non risultare sempre comprensibile...anche se magari è più veloce di uno switch, ma per questo non saprei quindi passo il testimone



    @luca200 a me quello che hai postato non funziona :master:
    cioè mi restituisce sempre yyy tralasciando le xxx prima e dopo...
    e scrive yyy anche mettendo una condizione falsa; è una particolare dicitura che posso usare solo da una certa versione del php?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da 13manuel84
    @luca200 a me quello che hai postato non funziona :master:
    cioè mi restituisce sempre yyy tralasciando le xxx prima e dopo...
    Colpa mia. Ci vanno le parentesi

    Codice PHP:
    print("xxx". ((1==1) ? "yyy" "zzz") . "xxx"); 

  9. #9
    vero


    per l'altra mia domanda ( curiosità ) sapresti dirmi qualcosa? va beh che qui l'ho provato con entrambe le soluzioni e la velocità mi sembra pressoché identica...ma fra le due dici che è meglio usare un costrutto che già esiste piuttosto che crearsi una funzione apposta?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da 13manuel84
    è meglio usare un costrutto che già esiste piuttosto che crearsi una funzione apposta?
    Non ti sembra che questa domanda si risponda da sola?

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.