首页  >  文章  >  后端开发  >  return在这里到底返回了啥

return在这里到底返回了啥

WBOY
WBOY原创
2016-06-23 13:34:101372浏览

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 语句后面的内容将不会被执行了;
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn