明示的に何も返さない場合、php関数は正確に何を返しますか?
_function foo() {}
_
それはどんなタイプですか?
それは何の価値ですか?
===で正確にテストするにはどうすればよいですか?
この変更はphp4からphp5に変更されましたか?
function foo() {}
とfunction foo() { return; }
の間に違いはありますか
(私はif (foo() !=0) ...
のようにテストする方法を尋ねていません)
null
null
if(foo() === null)
あなたはそれをやってみることができます:
$x = foo();
var_dump($x);
PHP関数から値を返さないことは、nullを返す関数と同じセマンティクスを持っています。
function foo() {}
$x=foo();
echo gettype($x)."\n";
echo isset($x)?"true\n":"false\n";
echo is_null($x)?"true\n":"false\n";
これは出力されます
NULL
false
true
Fooを次のように置き換えても同じ結果が得られます
function foo() {return null;}
この動作にphp4からphp5からphp7への変更はありません(確かに tested です!)