2011-09-13 11 views
9

Tengo una construcción como esta en mi fichero de configuración:php if estática en

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

echo $nonstatic; 
echo $config; 
?> 

Así que por qué el $ config contiene 2 si esta parte de la declaración es falsa y no estático contiene $ 1? ¿Es un error?

+0

¿Es este el script completo, o hay más código? –

+1

¿No sería mejor que declarara la variable fuera del 'si' y simplemente le asignara un valor adentro? Nunca he visto la palabra clave 'static' usada así, aunque eso no significa que esté mal ... – DaveRandom

+0

Parece que la última declaración estática (independientemente de cualquier cosa) decide el valor. – Vikash

Respuesta

Cuestiones relacionadas