第五章 代码重用与函数编写(2)
2016-08-04 18:25 yojiaku 阅读(188) 评论(0) 编辑 收藏 举报******************** 5.3 在PHP中使用函数
函数是一个给出了调用接口的自包含模块,可以执行任务,可以有返回值。
*** 调用函数
【1】最简单的调用方式:
function_name();
例子:phpinfo()==>显示已安装的PHP版本、关于PHP的信息、web服务器的设置和众多PHP和服务器变量的值。
【2】带参数的函数调用:function_name('parameter');
参数可以是任意数据类型,但是通常特定的函数有特定的数据类型,通过函数原型来了解函数所需的参数类型和参数个数。
【3】函数调用不区分大小写
********************* 5.4 理解为什么要定义自己的函数
********************* 5.5 了解函数的基本结构
【1】声明:以关键字function开始
【2】给出函数的名称和必要的参数
【3】给出每次调用这个函数时要执行的代码
例子:
function my_function() { echo "My function is called"; }
用如下命令调用:
my_function();
我们在使用的时候,通常将经常用到的函数单独包含在一个文件中,然后用一个require()语句使用。
********************** 5.6 使用参数
例子:
function create_table($data,$border=1,$cellpadding=4,$cellspacing=4) { echo "<table border='\".$border\"' cellpadding='\".$cellpadding\"' cellspacing='\".$cellspacing\"'>"; reset($data); //Remember this is used to point to the beginning $value = current($data); while($value) { echo "<tr><td>".$value."</td></tr>\n"; $value = next($data); } echo "</table>"; } $my_array = array("Line one","Line two","Line three"); create_table($my_array,3,8,8);
注意:create_table()中第一个参数是必须的,后面三个参数都是可选的,因为已经在函数中为它们定义了默认值。
********************** 实现递归
一般用于浏览动态数据结构,例如连接列表和树。
例子:
function reverse_r($str) { if(strlen($str)>0) { reverse_r(substr($str,1)); } echo substr($str,0,1); return; } function reverse_i($str) { for($i=1;$i<=strlen($str);$i++) { echo substr($str,-$i,1); } return; } reverse_r('Hello'); echo "<br />"; reverse_i('Hell0');
reverse_r($str) 使用的是递归,reserve_i($str)使用的是循环。
注意:一般不用递归。
*** 名称空间
通常,名称空间是一个抽象的容器,它可以包含一组标识符;可以是定义的函数、常量以及类。
一个名称空间中的所有函数、类和常量都将自动冠以名称空间的空间前缀。
非全路径的类、函数和常量名称将在运行时解析,在查看全局空间之前,将首先查看名称空间。