Visualizzazione dei risultati da 1 a 4 su 4

Discussione: variabili static

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    80

    variabili static

    function Test()
    {
    static $a = 0;
    echo $a;
    $a++;
    }
    Test();

    Questo codice dovrebbe incrementare e stampare ogni volta che carico la pagina la variabile $a.

    Invece non funziona!
    Qualcuno sa come mai?

  2. #2
    una costante si definisce con define

    in ogni caso non e' un file, quando lo script viene chiuso tutte le variabili sono cancellate e alla prossima riapertura riparte dalla definizione associata.

    per mantenere il valore usa un file o il database.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619

    Re: variabili static

    Originariamente inviato da mcjennis
    function Test()
    {
    static $a = 0;
    echo $a;
    $a++;
    }
    Test();

    Questo codice dovrebbe incrementare e stampare ogni volta che carico la pagina la variabile $a.

    Invece non funziona!
    Qualcuno sa come mai?
    L'uso di "static" in questo caso avrebbe senso richiamando la funzione Test() più volte all'interno dello stesso script: in questo caso vedresti il valore di $a realmente incrementato.

    Per fare quello che ti serve ricaricando la pagina, o ti appoggi a file/db come ti diceva piero, oppure utilizzi le sessioni (o un approccio misto, dipende poi da cosa ci devi fare con questo contatore)
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    80
    in pratica la variabile muore con la terminazione dello script...

    A me serviva perchè pensavo di gestire un sistema di semafori per la mutua esclusione in php, quindi mi serve definire una variabile a livello server da cambiare a rosso quando in una determinata sezione c'è già un utente.

    E' il tipico problema di evitare possibili inconsistenze di dati quando ci sono due admin...

    Allora pensavo di trovare delle sezioni critiche su cui fare mutua esclusione.
    Mi sa che a sto punto mi appoggio su db.

    grazie

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.