PHP Valeurs par défaut des variables non initialisées


Exemple

Bien que cela ne soit pas nécessaire en PHP, il est toutefois conseillé d’initialiser les variables. Les variables non initialisées ont une valeur par défaut de leur type en fonction du contexte dans lequel elles sont utilisées:

Non défini ET non référencé

var_dump($unset_var); // outputs NULL

Booléen

echo($unset_bool ? "true\n" : "false\n"); // outputs 'false' 

Chaîne

$unset_str .= 'abc';
var_dump($unset_str); // outputs 'string(3) "abc"'

Entier

$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int); // outputs 'int(25)'

Flotteur / double

$unset_float += 1.25;
var_dump($unset_float); // outputs 'float(1.25)'

Tableau

$unset_arr[3] = "def";
var_dump($unset_arr); //  outputs array(1) {  [3]=>  string(3) "def" }

Objet

$unset_obj->foo = 'bar';
var_dump($unset_obj); // Outputs: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }

S'appuyer sur la valeur par défaut d'une variable non initialisée est problématique dans le cas de l'inclusion d'un fichier dans un autre qui utilise le même nom de variable.