欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

return在这里到底返回了啥

程序员文章站 2022-06-04 13:18:43
...
private static function cp(){ //合法性验证
//var_dump($_SERVER);
echo $_SERVER['HTTP_HOST'];exit;
if (self::CPURL == '') return;
这句中return反回了啥也没有写。挺怪的,是反回false啊,还是反回true呢,还是说一个啥值 ,没有表明呢


回复讨论(解决方案)

return 没有具体的值时,将返回 NULL
这里只是为了结束函数的执行

return 没有具体的值时,将返回 NULL
这里只是为了结束函数的执行


那么问题来了,不用不行吗,假如不用,按你说的可以出现以下后果,1,函数没有结束2,如果返回NULL,那么你这个函数怎么执行都是NULL,那这个函数和没有有啥区别呢。况且很多函数都是没有return的,这里不用它不行吗

你只是从本来就不多的代码中抽取了一句
而任何语法成分,离开了语境就什么都不是了

if (self::CPURL == '') return;
echo 'abc';

这样就可说明 return 的目的了
当然,你写成这样也是可以的

if (self::CPURL == '') {
}else {
echo 'abc';
}

为什么不可以中途下车呢

你只是从本来就不多的代码中抽取了一句
而任何语法成分,离开了语境就什么都不是了

if (self::CPURL == '') return;
echo 'abc';

这样就可说明 return 的目的了
当然,你写成这样也是可以的

if (self::CPURL == '') {
}else {
echo 'abc';
}

为什么不可以中途下车呢


回答的还不是很理想,只答出了点皮毛
下面才是正宗的解释
首先,它的意思就是返回;return()是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来。当返回一个变量时通常不用括号,这样可以降低PHP的负担。
基本用法:
a)、return expression // 返回一个表达式结果
b)、return(expr) // 函数表达式
c)、return // 直接返回,或返回空值
注意:最好不要用return($val)这种方式。
1、如果执行了return,则return 语句后面的内容将不会被执行了;