gpt4 book ai didi

php - 如何判断函数返回 "nothing"还是 NULL?

转载 作者:行者123 更新时间:2023-12-03 23:22:25 25 4
gpt4 key购买 nike

考虑一个显式返回 null 的函数:

function nullreturn() {return null;}
$rv = nullreturn();
var_dump($rv);
var_dump(isset($rv));
var_dump(is_null($rv));

正如预期的那样,它标识为 null

NULL
bool(false)
bool(true)

并考虑一个没有返回值的函数——甚至是一个return语句:

function noreturn() {}
$rv = noreturn();
var_dump($rv);
var_dump(isset($rv));
var_dump(is_null($rv));

其中标识为null:

NULL
bool(false)
bool(true)

...有没有办法确定 noreturn 返回“nothing”而不是 null


至于为什么我需要这种 null/void 区别,我只是试图实现与以前的服务实现的兼容性。 做出这种区分,并对其进行测试。但是,这可能并不重要。我只是不想放弃相关测试,并希望如果我忽略了一个可实现的解决方案,我不会依赖于这种区别。

最佳答案

没有。不返回和返回 NULL 是完全相同的事情。没有返回值的函数隐式返回NULL。这适用于许多语言。很抱歉,如果这不是您正在寻找的答案,但这就是现实。

以下每个都执行完全相同的操作:

function A() {
return;
}

function B() {
return NULL;
}

function C() {
}

另请参阅return in the PHP manual :

Note: If no parameter is supplied, then the parentheses must be omitted and NULL will be returned. Calling return with parentheses but with no arguments will result in a parse error.

关于php - 如何判断函数返回 "nothing"还是 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37847056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com