2.2 - 第二章:函数 - 返回值

来源:互联网 发布:mac触摸板使用技巧 编辑:程序博客网 时间:2024/06/07 03:24

在PHP中所有的函数都有返回值——即使你没有指定它返回内容。因此在PHP中声名”void”(无返回值)的函数没有意义。你可以使用return关键字来指定要返回的内容:

function hello(){  return "Hello World"; // 没有任何显示结果}$txt = hello(); // 将返回的“Hello World”值赋给$txtecho hello(); // 显示“Hello World”

显然,return也可用于中断一个函数的运行,即使你没有打算返回任何值:

function hello($who) {  echo "Hello $who";  if ($who == "World") {    return; // 执行到这里的话,本函数下面的语句就不会被执行到  }  echo ", how are you";}hello("World"); // 显示“Hello World”hello("Siemen"); // 显示“Hello Siemen, how are you?”

请注意,即使你没有在return后面加上需要返回的内容,PHP仍然会触发函数返回NULL。

函数也可以返回一个引用;这可以使返回值是其本身的引用,来取代复制关系(默认的返回值除了对象外其余都是复制关系)。比较典型的例子是资源类型(类似数据库连接)与使用工厂模式。但要注意的是——你只能返回一个值作为引用,而不是一个表达式,或者强制使用return语句返回NULL:

function &query($sql){  $result = mysql_query($sql);  return $result;}// 下面是不正确的写法,会引发PHP的提示function &getHello(){  return "Hello World";}// 同样是不正确的写法,这样写会引发一个警告function &test(){  echo "This is a test";}
原创粉丝点击