78 votes

que fait une fonction php de retour par défaut?

Si j'ai rien explicitement, ce qui n'est une fonction php exactement de retour?

function foo() {}
  1. De quel type est-il?

  2. Quelle valeur est-il?

  3. Comment puis-je tester pour elle exactement avec === ?

  4. Ce changement de php4 à php5?

  5. Est-il une différence entre function foo() {} et function foo() { return; }

(Je ne demande pas comment le tester comme if (foo() !=0) ...)

103voto

PatrikAkerstrand Points 23968
  1. null
  2. null
  3. if(foo() === null)
  4. -
  5. Nope.

Vous pouvez l'essayer en faisant:

$x = foo();
var_dump($x);

38voto

Paul Dixon Points 122033

Ne pas retourner une valeur à partir d'une fonction PHP a la même sémantique que d'une fonction qui retourne la valeur null.

function foo() {}

$x=foo();

echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";

Ce sera de sortie

NULL
false
true

Vous obtenez le même résultat si toto est remplacé par

function foo() {return null;}

Il n'y a eu aucun changement dans ce comportement de php4 à php5 (je viens de tester pour être sûr!)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X