2011-09-13 13 views
9

Ho una costruzione come questo nel mio file di configurazione:php statica in if

<?php 
if (true) { 
    $nonstatic = 1; 
    static $config = 1; 
} 
else { 
    $nonstatic = 2; 
    static $config = 2; 
} 

echo $nonstatic; 
echo $config; 
?> 

Allora perché il $ config contiene 2 se questa parte della dichiarazione è falsa e non statico $ contiene 1? E 'un errore?

+0

È l'intero script o c'è altro codice? –

+1

Non sarebbe meglio dichiarare la variabile al di fuori di "if" e assegnargli semplicemente un valore all'interno? Non ho mai visto la parola chiave 'static' in questo modo, anche se questo non significa che sia sbagliato ... – DaveRandom

+0

Sembra che l'ultima dichiarazione statica (indipendentemente da qualsiasi cosa) decida il valore. – Vikash

risposta