Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    [PHP] visibilita strana di una variabile

    ciao a tutti

    da una pagina mi passo un valore, questo è visibile poi chiamo una funzione e il valore si perde. Semplificando al massimo la pagina è :

    <?
    global $a;
    $a= $codBOM
    echo $a ; (qui il codice è mantenuto)

    function cambia($codBOM)

    {
    bla bla
    bla bla

    echo "a vale :" . $a; qui $a è vuota !!!!!!!!!


    }


    cambia($codBOM)


    ?>


    come è possibile che $a sia vuota quando chiamo la funzione ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    dentro le funzioni hai solo le variabili che passi come argomento o dichiarate global

    chiaramente anche quelle definite al suo interno

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    ho provato a mettere global $a nella funziona e ora va! Ma come mai cosi funziona ? Non capisco!!
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    [supersaibal]Originariamente inviato da ivy_76
    ho provato a mettere global $a nella funziona e ora va! Ma come mai cosi funziona ? Non capisco!! [/supersaibal]
    immagina un codice di 50000 righe composto da 200 funzioni che richiami in molte pagine, come fai a ricordarti tutte le variabili che usi nelle funzioni per non sovrascriverle, in questo modo il codice viene protetto da eventuali errori infatti global esiste ma sarebbe fortemente sconsigliato in una "buona" programmazione proprio per evitare errori.

    meglio passare anche $a nella funzione
    function cambia($codBOM, $a)


  5. #5
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    OK ! Mi adeguo alla "buona programmazione"
    Grazie mille !!

    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  6. #6
    [supersaibal]Originariamente inviato da ivy_76
    OK ! Mi adeguo alla "buona programmazione"
    Grazie mille !!

    [/supersaibal]

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.