PHP和MySQLWeb开发.ppt

上传人:牧羊曲112 文档编号:5443659 上传时间:2023-07-07 格式:PPT 页数:34 大小:259.49KB
返回 下载 相关 举报
PHP和MySQLWeb开发.ppt_第1页
第1页 / 共34页
PHP和MySQLWeb开发.ppt_第2页
第2页 / 共34页
PHP和MySQLWeb开发.ppt_第3页
第3页 / 共34页
PHP和MySQLWeb开发.ppt_第4页
第4页 / 共34页
PHP和MySQLWeb开发.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《PHP和MySQLWeb开发.ppt》由会员分享,可在线阅读,更多相关《PHP和MySQLWeb开发.ppt(34页珍藏版)》请在三一办公上搜索。

1、,PHP和MySQL Web开发,授课教师:职务:,第6章 自定义函数的使用,课程描述函数(function)由若干条语句组成,用于实现特定的功能。函数包含函数名、若干参数和返回值。一旦定义了函数,就可以在程序中需要实现该功能的位置调用该函数,给程序员共享代码带来了很大方便。在PHP语言中,除了提供丰富的系统函数(本书前面已经介绍了一下常用的系统函数)外,还允许用户创建和使用自定义函数。,本章知识点,6.1 创建和调用函数 6.2 参数和返回值 6.3 函数库,6.1 创建和调用函数,6.1.1 创建自定义函数 6.1.2 创建表 6.1.3 查看和管理表中的数据6.1.4 查看表的磁盘空间信

2、息 6.1.5 修改表 6.1.6 删除表,6.1.1 创建自定义函数,可以使用function关键字来创建PHP自定义函数,其基本语法结构如下:function 函数名(参数列表)函数体,【例6-1】,创建一个非常简单的函数PrintWelcome,它的功能是打印字符串“欢迎使用PHP”,代码如下:function PrintWelcome()echo(欢迎使用PHP);,【例6-2】,创建函数PrintString(),通过参数决定要打印的内容。function PrintString($str)echo($str);变量$str是函数的参数。在函数体中,参数可以像其他变量一样被使用。可以

3、在函数中定义多个参数,参数之间使用逗号分隔。,【例6-3】,定义一个函数sum(),用于计算并打印两个参数之和。函数sum()包含两个参数。参数$num1和$num2,代码如下:function sum($num1,$num2)echo($num1+$num2);,6.1.2 调用函数,【例6-4】要调用PrintWelcome()函数,显示“欢迎使用PHP”字符串,代码如下:,【例6-5】,要调用PrintString()函数,打开用户指定的字符串,代码如下:,【例6-6】,调用sum()函数,计算并打印100和3之和,代码如下:,6.1.3 变量的作用域,在函数中也可以定义变量,在函数中定

4、义的变量被称为局部变量。局部变量只在定义它的函数内部有效,在函数体之外,即使使用同名的变量,也会被看作是另一个变量。相应地,在函数体之外定义的变量是全局变量。全局变量在定义后的代码中都有效,包括它后面定义的函数体内。如果局部变量和全局变量同名,则在定义局部变量的函数中,只有局部变量是有效的。,【例6-7】,局部变量和全局变量作用域的例子。);echo($a);/打印全局变量$a?在函数setNumber()外部定义的变量$a是全局变量,它在整个PHP程序中都有效。在setNumber()函数中也定义了一个变量$a,它只在函数体内部有效。因此在setNumber()函数中修改变量$a的值,只是修

5、改了局部变量的值,并不影响全局变量$a的内容。运行结果如下:10100,调试程序,为了更直观地认识局部变量和全局变量,分别在setNumber()函数内部和后面的echo($a)语句上设置断点,然后调试程序,并在断点处查看变量$a的值。局部变量$a的值如图6-1所示,全局变量$a的值如图6-2所示。,在函数中使用全局变量,如果要在函数中使用全局变量,可以使用global关键字进行声明,方法如下:定义全局变量function 函数名(参数列表)global 全局变量名 使用全局变量,【例6-8】,对【例6-7】进行修改,在setNumber()函数中设置全局变量$a的值,代码如下:因为全局变量$

6、a在setNumber()函数中被设置为10,所以运行结果为10。,6.1.4 静态变量,在函数体内可以定义静态变量,静态变量的作用域与局部变量相同,只在定义它的函数体内。与局部变量不同的是,局部变量会在函数结束时被释放,而静态变量的值会被保留下来,下次调用函数时,静态变量的值不会丢失。可以使用static 关键字定义静态变量,语法如下:static$变量名=初始值;,【例6-9】,静态变量的例子。);$count+;for($i=1;$i运行结果如下:第1次调用函数第2次调用函数第3次调用函数第4次调用函数第5次调用函数第6次调用函数第7次调用函数第8次调用函数第9次调用函数第10次调用函数

7、静态变量$count的值在调用函数后被保留。,6.1.5 变量函数,PHP支持变量函数,即通过变量调用函数。在变量名后面添加(),PHP会调用变量值指定的函数。【例6-10】变量函数的例子。n;function bar($arg=)echo In bar();argument was$arg.n;/echo()函数的外壳函数function echoit($string)echo$string;$func=foo;$func();/调用foo()$func=bar;$func(test);/调用bar()$func=echoit;$func(test);/调用echoit()?,提示,变量函数

8、不能用于语言结构,例如 echo()、print()、unset()、isset()、empty()、include()、require()等。如果需要对它们调用变量函数,可以为其定义一个外壳函数,然后调用外壳函数,6.2 参数和返回值,6.2.1 在函数中传递参数6.2.2 函数的返回值,6.2.1 在函数中传递参数,1值传递参数2引用传递参数3参数的默认值 4可变长参数,1值传递参数,默认情况下,PHP实行按值传递参数。值传递指调用函数时将常量或变量的值(通常称其为实参)传递给函数的参数(通常称其为形参)。值传递的特点是实参与形参分别存储在内存中,是两个不相关的独立变量。因此,在函数内部改

9、变形参的值时,实参的值一般是不会改变的。小节介绍的实例都属于按值传递参数的情况。,2引用传递参数,引用传递(按地址传递)的特点是实参与形参共享一块内存。因此,当形参的值改变的时候,实参的值也会相应的做出改变。从这种角度上来说,可以认为形参和实参是同一个变量。在定义引用传递参数时,可以在参数前面加上引用符号?,3参数的默认值,在PHP中,可以为函数的参数设置默认值。可以在定义函数时,直接在参数后面使用“=”为其赋值。【例6-12】设置参数默认值的例子。测试字符串!;printString($str);?,4可变长参数,PHP还支持可变长度的参数列表。在定义函数时,不指定参数。在调用函数时,可以根

10、据需要指定参数的数量,通过与参数相关的几个系统函数获取参数信息。具体说明如下:func_num_args,返回传递给函数的参数数量。func_get_arg,返回传递给函数的参数列表。func_get_args,返回一个数组,由函数的参数组成。,【例6-13】,一个可变长参数的实例。);$sum=0;for($i=0;$i运行结果如下:函数包含:4个参数参数累加之和为:10,【例6-14】,修改【例6-13】,使用func_get_args函数获取参数信息,代码如下:);$sum=0;$arg_list=func_get_args();for($i=0;$i运行结果与【例6-13】相同。,6.

11、2.2 函数的返回值,可以为函数指定一个返回值,返回值可以是任何数据类型,使用return语句可以返回函数值并退出函数。【例6-15】对【例6-13】中的mysum()函数进行改造,通过函数的返回值返回累加结果,代码如下:运行结果如下:函数包含:4个参数计算结果为:10,【例6-16】,下面程序中的mysquare()函数返回参数列表中所有参数的平方值。程序将参数值计算平方值,保存在数组$arg_list中,然后将数组$arg_list作为函数的返回值。使用print_r()函数打开mysquare()函数的返回结果,内容如下:Array(0=1 1=4 2=9 3=16),6.3 函数库,6

12、.3.1 定义函数库6.3.2 引用函数库,6.3.1 定义函数库,函数库是一个.php文件,其中包含函数的定义。【例6-17】创建一个函数库mylib.php,其中包含2个函数PrintString()和sum(),代码如下:,6.3.2 引用函数库,可以使用include()函数引用PHP函数库,语法如下:include(函数库文件)在使用了include()函数的PHP文件中就可以引用函数库文件中定义的函数了。【例6-18】假定【例6-16】中创建的函数库mylib.php保存在inc目录下,引用其中包含的函数PrintString()和sum(),代码如下:运行结果如下:1+2=3,require()函数,require()函数和include()函数几乎完全一样,除了处理失败的方式不同之外。当找不到包含的文件时,include()函数会产生一个警告,而require()函数则会导致一个严重错误。【例6-19】在【例6-18】中使用require()函数引用mylib.php函数库,代码如下:还可以使用require_once()函数引用函数库,它的用法与require()函数完全相同,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。这样就可以避免函数库被重复引用。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号