2012-11-19 19 views
7

Ho fatto una ricerca per questo, ma non sono riuscito a trovare una risposta alla mia domanda.Valore predefinito delle variabili in PHP?

Quando una variabile viene dichiarata senza un valore, come questo:

$var; 
public $aVar; 

è il valore della variabile sconosciuta, come in molte lingue (vale a dire tutto ciò che era in memoria prima), o è la variabile di default impostato su null?

risposta

11

Le variabili dichiarate senza valore e le variabili non definite/non dichiarate sono null per impostazione predefinita.

Tuttavia, l'esecuzione di $var; non dichiarerà una variabile in modo che sia possibile dichiarare una variabile senza un valore in un oggetto.

Demo:

<?php 
class Test { public $var; } 
$var; 
$t = new Test(); 
var_dump($var); 
var_dump($t->var); 

uscita:

Notice: Undefined variable: var in - on line 5 
NULL 
NULL 
+1

Nota che il 'isset() funzione' 'ritorna FALSE se il valore della variabile è' null'. Quindi, si potrebbe dire che una variabile non esiste in PHP prima di ricevere un valore. – fimas

+1

Vero, uno dei più grandi WTF PHP imho. – ThiefMaster

Problemi correlati