Si je ne retourne rien explicitement, qu'est-ce qu'une fonction PHP revient exactement?
function foo() {}
Quel type est-ce?
Quelle valeur s'agit-il?
Comment puis-je le tester exactement avec ===?
Cela a-t-il changé de PHP4 à PHP5?
Y a-t-il une différence entre function foo() {}
et function foo() { return; }
(Je ne demande pas comment le tester comme if (foo() !=0) ...
)
null
null
if(foo() === null)
Vous pouvez l'essayer en faisant:
$x = foo();
var_dump($x);
Ne retourne pas une valeur de A PHP Fonction a la même sémantique qu'une fonction qui retourne null.
function foo() {}
$x=foo();
echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";
Cela va sortir
NULL
false
true
Vous obtenez le même résultat si FOO est remplacé par
function foo() {return null;}
Il n'y a pas eu de changement dans ce comportement de PHP4 à PHP5 à PHP7 (i simplement testé pour être sûr!)