what does a php function return by default?
If I return nothing explicitly, what does a php function exactly return?
function foo() {}
What type is it?
What value is it?
How do I test for it exactly with === ?
Did this change from php4 to php5?
Is there a difference between
function foo() {}
andfunction foo() { return; }
(I am not asking how to test it like if (foo() !=0) ...
)
Solution 1:
null
null
if(foo() === null)
- -
- Nope.
You can try it out by doing:
$x = foo();
var_dump($x);
Solution 2:
Not returning a value from a PHP function has the same semantics as a function which returns null.
function foo() {}
$x=foo();
echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";
This will output
NULL
false
true
You get the same result if foo is replaced with
function foo() {return null;}
There has been no change in this behaviour from php4 to php5 to php7 (I just tested to be sure!)