Visualizzazione risultati 1 fino 6 di 6

Discussione: Controllo inizializzazione variabile

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito Controllo inizializzazione variabile

    Nel costruttore di una classe inizializzo una variabile con un valore contenuto in un file. Se questo valore non viene trovato l'istruzione di assegnazione non viene eseguita.
    Allora vorrei eseguire qualcosa del tipo:
    se la variabile non è inizializzata inizializzala a 0.
    come posso fare?

  2. #2
    Guest

    Predefinito

    Non dovrebbe bastare una cosa simile?

    Codice PHP:
    class Prova {
    var
    $valore;

    function
    __constrcut($var)
    {
    if(!isset(
    $var) || empty($var))
    {
    $this->valore = 0;
    }
    else
    {
    $this->valore = $var;
    }
    }
    }
    Quando inizializzi la classe passi il valore e questo controlla, buttata già in 5 secondi senza pensare

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ma il problema è che il mio codice è un po diverso: mi spiego.
    public function __construct ($file) {
    $this->xml=simplexml_load_file($file);
    foreach($this->xml->node as $node)
    if ($node->name!="")
    $this->node=$node;
    //QUI DEVO ASSEGNARE IL VALORE 0 SE NON è GIà STATO ASSEGNATO
    } //__construct

  4. #4
    Guest

    Predefinito

    Codice PHP:
    public function __construct ($file)
    {
    $this->xml=simplexml_load_file($file);
    foreach(
    $this->xml->node as $node)
    {
    if(!empty(
    $node->name)
    {
    $this->node = $node;
    }
    else
    {
    $this->node = 0;
    }
    }
    }
    //__construct

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    in questo modo viene valutato solo l'ultimo nodo però...

  6. #6
    Guest

    Predefinito

    Allora inseriscilo fuori dal foreach, in questo modo se non valorizzata la valorizzi a zero anche se non capisco il senso perchè prima di tutto qualsiasi variabile ha come valore standard 0 oppure false se non la valorizzi e poi perchè potresti benissimo definire una variabile nella classe come valore di default zero e nel caso questa venga valorizzata nel foreach sovrascriverebbe il 0.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •