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呢,还是说一个啥值 ,没有表明呢
那么问题来了,不用不行吗,假如不用,按你说的可以出现以下后果,1,函数没有结束2,如果返回NULL,那么你这个函数怎么执行都是NULL,那这个函数和没有有啥区别呢。况且很多函数都是没有return的,这里不用它不行吗
回答的还不是很理想,只答出了点皮毛
下面才是正宗的解释
首先,它的意思就是返回;return()是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来。当返回一个变量时通常不用括号,这样可以降低PHP的负担。
基本用法:
a)、return expression // 返回一个表达式结果
b)、return(expr) // 函数表达式
c)、return // 直接返回,或返回空值
注意:最好不要用return($val)这种方式。
1、如果执行了return,则return 语句后面的内容将不会被执行了;
//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 语句后面的内容将不会被执行了;
上一篇: PHP高自定义性安全验证码代码_PHP