免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7357 | 回复: 11
打印 上一主题 下一主题

php函数的return 参数值这两种写法有何区别? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-22 16:28 |只看该作者 |正序浏览
<?php
function add($arv1, $arv2) {
   $arr = $arv1+$arv2;
   return($arr);
}

echo add(1,5);
?>

上面是用return来返回值的示例代码,输出结果为6,这里我将return的参数值包括在括号内,还有一种写法是这样的:
return $arr;

这里不包括在括号内,经测试,运行结果是一样的,但这两者应该有所区别吧(不指运行结果,是指其他方面),但手册中没看到详细的说明,望大家指点一二。

还看到另外一种写法,就是直接写上return,但我自己测来测去的,发现无法得到返回值的,但的确有这样的写法的,请教一下:在什么情况下这样写能得到返回值?

比如下面的示例就是无法得到返回值的:
<?php
function add($arv1, $arv2) {
   $arr = $arv1*$arv2;
   return;
}

echo add(1,5);
?>

但我看有些开源代码中是有这样写法的,我想这样写应该有个先决条件的吧。

论坛徽章:
0
12 [报告]
发表于 2007-09-03 23:17 |只看该作者

回复 #3 doudoukiki 的帖子

解答得很仔细

弱弱的问一句,如果返回一个 &$a变量,是返回引用地址,还是只是一个值?

论坛徽章:
0
11 [报告]
发表于 2007-09-03 18:07 |只看该作者
return 表达式;
后面的可以是表达式,当然单个的变量也是表达式,因为$a和($a)结果肯定一样,所以这时候说加不加括号肯定一样。
不带返回值:一定做了数据处理,但结果的改变是变量引用,所以这时候不需要返回值;

论坛徽章:
0
10 [报告]
发表于 2007-09-03 16:17 |只看该作者
谢谢楼上诸位的热心指点,明白了。

论坛徽章:
0
9 [报告]
发表于 2007-08-24 15:48 |只看该作者
一种有返回值,
一种没有返回值。

论坛徽章:
0
8 [报告]
发表于 2007-08-24 15:41 |只看该作者
echo也可以写成echo()
include('aa.php');
include 'aa.php';

论坛徽章:
0
7 [报告]
发表于 2007-08-23 14:33 |只看该作者
汗,回复的别的贴子,编辑一下跑这来了。

[ 本帖最后由 arcow 于 2007-8-23 14:39 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-08-23 13:08 |只看该作者
从两个角度看吧 ~

其实括号与return是无关的 .

论坛徽章:
0
5 [报告]
发表于 2007-08-23 12:36 |只看该作者
原帖由 doudoukiki 于 2007-8-23 01:48 发表
这并非「回」字有几种写法


return
如果在一个函数中调用 return() 语句,将立即结束此函数的执行并将它的参数作为函数的值返回。return() 也会终止 eval() 语句或者脚本文件的执行。

如果在全局范围中 ...


除了多一个括号运算之外,没有任何区别,那么不是「回」字的写法是什么……

论坛徽章:
0
4 [报告]
发表于 2007-08-23 08:53 |只看该作者
从我个人角度来看。

我觉得只要知道两者一个能返回想要的值,一个返回null就可以了。

每个人都有自己习惯。我一般不会写return ;,,,,一般要么返回数据,要么就是return false;

没有必要在这个上面花费太多时间。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP