在定义函数时,函数名后面括号中的参数列表是用户在调用函数时用来将数据传递到函数内部的接口,而函数的返回值则将函数执行后的结果返回给调用者。如果函数没有返回值,就只能算一个执行过程。只依靠函数做一些事情还不够,有时更需要在脚本程序中使用函数执行后的结果。由于变量的作用域的差异,调用函数的脚本程序不能直接使用函数体里面的信息。前面讲解了php自定义函数的参数在函数间传递的三种方式,这里我们主要讲解php自定义函数的返回值。通常,函数将返回值传递给调用者的方式是使用关键字 return 或 return()函数。
return 的作用是将函数的值返回给函数的调用者,即将程序控制权返回到调用者的作用域。如果在全局作用域内使用 return 关键字,那么将终止脚本的执行。return 语句在函数体中使用时,有一下两个作用:
1. return 语句可以向函数调用者返回函数体中任意确定的值。
2. 将程序控制权返回到调用者的作用域,即退出函数。在函数体中如果执行了 return 语句,它后面的语句就不会被执行。
使用 table()函数,把该函数单纯的输出表格的功能修改成创建表格的功能。table()函数只要被调用,就必须输出用通过传递参数指定表名、行数和列数的表格。如果将函数体中所有输出内容都放到一个字符串里,并使用 return 语句 返回这个存有表格数据的字符串。用户不仅可以将获取字符串直接输出显示表格,还可以将获取道德表格存储到数据库或者文件中,或者有其他的字符串处理方式。
其代码如下面所示:<?php
function table($table_name, $rows, $cols){
$str_table = "";
$str_table .= "
$str_table .= "
$table_name
";
for($i=0; $i
$color = $i%2 == 0?"#ffffff":"#dddddd";
$str_table .= "
";
for($j=0; $j
$str_table .= "
".($i*$cols+$j)."";
}
$str_table .= "
";
}
$str_table .= "
";
return $str_table;
}
$str = table("3行4列的表格",3,4);
echo table("4行5列的表格",4,5);
echo $str;
?>
以上会输出如下的图:
说明:上面的实例中将 table()函数中所有输出的内容都累加到了一个字符串 $str_table 中,并在函数的最后使用 return 语句将 $str_table 返回。这样,在调用函数 table() 时,不仅将一些数据以参输的形式传到了函数的内部,还执行了函数,并且在调用函数处还可以使用 return 语句返回的值,而且这个从函数返回的值可以再脚本中像使用其他值一样使用。比如,将其赋给一个变量、直接输出或是参与运算等。
注意:return 语句只能返回一个操作数,即只能返回一个值,不能一次返回多个值。如果要返回多个值,就要在函数中定义一个数组,将返回值存储在数组中返回。
【相关教程推荐】