《PHP+MySQL动态网页设计》课件 第5章 PHP中的函数_第1页
《PHP+MySQL动态网页设计》课件 第5章 PHP中的函数_第2页
《PHP+MySQL动态网页设计》课件 第5章 PHP中的函数_第3页
《PHP+MySQL动态网页设计》课件 第5章 PHP中的函数_第4页
《PHP+MySQL动态网页设计》课件 第5章 PHP中的函数_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章PHP中的函数5.1函数的概念函数的概念函数就是一段被命名的、独立的、用以完成特定任务的代码块,并可以将一个返回值返回给调用它的程序。例如,求绝对值的函数abs(),其功能就是用来求一个数的绝对值并返回,它是独立存在的,并不受其他函数的影响。PHP的模块化程序结构都是通过函数或者对象来实现的,函数则是将复杂的PHP程序分成若干个不同的功能模块,每个模块都编写成一个PHP函数,然后通过在脚本中调用函数、以及在函数中调用函数来实现一些大型问题的PHP脚本编写。函数的概念函数的优点如下:控制程序设计的复杂性。提高软件的可靠性。提高软件的开发效率。提高软件的可维护性。提高程序的重用性。PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/

谢谢!第5章PHP中的函数5.2自定义函数1.函数的声明2.函数的调用3.函数的参数4.函数的返回值本节内容自定义函数在PHP中,除了已经提供给我们可直接使用的数以千计的系统函数以外,还可以根据模块需要自定义函数。自定义函数和系统函数在程序中的调用方式是一样的。1.函数的声明在PHP中声明一个自定义函数的语法格式如下: function函数名([参数1[,参数2[,…]]]){

函数体; [return返回值;] //如需函数有返回值时使用 }1.函数的声明示例5-1:编写一个函数,求三个整数中的最大值。2.函数的调用无论是自定义的函数还是系统函数,如果函数不被调用,则永远都不会执行。调用函数的语法格式如下:

函数名([值1[,值2[,…]]])2.函数的调用示例5-2:调用示例5-1的函数。3.函数的参数声明函数时,函数名后面小括号内的参数列表称为形式参数(简称“形参”),被调用函数名后面小括号内的参数列表称为实际参数(简称“实参”),实参和形参需要按顺序对应传递参数。函数的参数列表就是给用户调用函数时提供的操作接口。其语法格式为:

声明函数:function函数名(形参)

调用函数:函数名(实参)PHP函数的参数主要有以下三种:值参数、引用参数、默认参数。3.1值参数在PHP中默认是按值传递参数,在函数内部更改了形参的值以后,实参的值不会发生改变。示例5-1的getMax()函数就是值参数的函数。3.2引用参数如果使用引用符号“&”对函数的形参进行修饰(例如:&$min),则表示是按引用的方式传递参数,在调用该函数时必须传入一个变量给这个参数,而不是传递一个值,这样在函数内部更改了形参的值以后,实参的值也相应发生改变。3.2引用参数示例5-3:改造示例5-1的函数getMax(),求三个整数中的最大值和最小值。3.3默认参数在声明函数时,如果给形参指定一个默认值(例如:$a=10),则表示是按默认的方式传递参数,在调用该函数时如果没有指定该参数的值,在函数中将会使用参数的默认值。需要注意的是,默认参数必须列在所有没有默认值参数的后面!3.3默认参数示例5-4:默认参数的函数应用。4.函数的返回值函数的返回值是将函数执行后的结果返回给调用者,可以通过return语句向调用者传递数据。其语法格式为:

return返回值;4.函数的返回值示例5-5:编写一个函数,用来生成一个表格,表格的“标题”、“行数”、“列数”由参数进行指定。PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/

谢谢!第5章PHP中的函数5.3PHP变量的范围1.局部变量2.全局变量3.静态变量本节内容PHP变量的范围变量的范围,就是变量的作用域或者变量的能见度。可分为局部变量和全局变量两种。1.局部变量局部变量就是在函数内部声明的变量,其在本函数范围内有效,作用域仅限于函数体内。另外,声明函数时定义的形参也是局部变量,只能在本函数的内部使用。1.局部变量示例5-6:局部变量的应用测试。2.全局变量全局变量就是在函数外部声明的变量,其作用域是从全局变量的定义处开始,到本程序文件的末尾。在PHP中,局部变量会覆盖全局变量的能见度,因此在函数中无法直接使用全局变量。2.全局变量示例5-7:全局变量的应用测试1。2.全局变量示例5-8:全局变量的应用测试2。2.全局变量示例5-9:全局变量的应用测试3。2.全局变量示例5-10:全局变量的应用测试4,使用$GLOBALS替换示例5-9中的global。3.静态变量局部变量从存储方式上又可分为动态变量和静态变量。在函数的局部变量中,以关键字static修饰的称为静态变量,否则默认为动态变量。动态变量在函数调用结束后自动释放,不会驻留在内存中。静态变量在函数的第一次被调用时被初始化,在函数调用结束后,静态变量不会自动释放,始终驻留在内存中,而且在所有对该函数的调用之间共享,当函数再次执行时,静态变量将获取前次的结果继续运算。3.静态变量示例5-11:静态变量的应用测试。PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/

谢谢!第5章PHP中的函数5.4导入自定义函数库导入自定义函数库为了更好地组织代码,使自定义的函数可以在同一个项目的多个文件中使用,通常将多个自定义的函数组织到同一个文件或多个文件中,这些文件就称为自定义的PHP函数库。如果在PHP的脚本中想要使用这些文件中定义的函数,就需要使用include()、include_once()、require()、require_once()中的一个函数,将函数库文件加载到脚本文件中。导入自定义函数库require()语句的功能与include()类似,都是包含并运行指定文件。include_once()和require_once()语句也是在脚本执行期间包含并运行指定文件,但与include()和require()语句的区别是:如果该文件中的代码已经被包含了,则不会再次包含,只会包含一次,这样可以避免函数的重复定义、变量的重新赋值等问题。以include()语句为例,include()语句的使用方法为: include(‘库函数文件名’) 或

include'库函数文件名'这条语句通常放在PHP脚本程序的最前面。PHP程序在执行前首先会加载include()语句所引入的文件,使它变成PHP脚本文件的一部分。导入自定义函数库示例5-12:改造示例5-2,在示例5-2文件中加载示例5-1文件,通过使用定义在示例5-1文件中的getMax()函数求三个整数中的最大值。PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejian/范文下载:/fanwen/试卷下载:/shiti/教案下载:/jiaoan/

谢谢!第5章PHP中的函数5.5PHP中的常用系统函数1.数学函数2.日期/时间函数3.字符串处理函数4.图像处理函数本节内容PHP中的常用系统函数系统函数就是在PHP中提供的可以直接使用的函数,在开发时,一些常用的功能可以借助于调用系统函数来完成。本章节主要介绍PHP中的数学函数、日期/时间函数、字符串处理函数和图像处理函数等。1.数学函数数学函数用来对PHP中的整数和浮点数进行计算和处理。数学函数是PHP核心的组成部分,无需安装即可使用这些函数。1.数学函数示例5-13:数学函数的应用。2.日期/时间函数日期/时间函数用来获取服务器上的日期和时间、以及通过不同的方式格式化日期和时间。日期/时间函数是PHP核心的组成部分,无需安装即可使用这些函数。PHP中常用的日期/时间函数及其功能如下表所示:2.1修改PHP默认时区PHP默认的时区设置是UTC时间,即与格林威治时间一致。而北京时间位于时区的东八区,比UTC时间领先8个小时,所以在使用PHP中诸如time()函数等获取当前时间时,得到的时间总是不对,与北京时间总是相差8个小时。如果希望正确地显示北京时间,就需要修改默认的时区设置。有以下两种方法可以实现:修改配置文件php.ini中的date.timezone属性。使用date_default_timezone_set()函数设置时区。2.2UNIX时间戳UNIX时间戳是保存日期和时间的一张紧凑、简洁的方法,是在大多数计算机语言中表示日期和时间的一种标准格式。UNIX时间戳是指从UNIX纪元(格林威治时间1970年1月1日00时00分00秒)开始到当前时间为止所经过的秒数,是一个以32位整数表示的格林威治时间。即UNIX时间戳是以秒(s)作为计量时间的最小单位。UNIX时间戳在很多时候非常有用,因为它是一个32位的数字格式,所以特别适用于计算机处理,例如计算两个时间点之间相差的天数等。2.3time()函数time()函数用来返回当前时间的UNIX时间戳。格式为:

inttime()2.3time()函数示例5-14:time()函数的应用。2.4mktime()和strtotime()函数在PHP中,如果需要将日期和时间转变成UNIX时间戳,可以使用mktime()函数或者strtotime()函数。mktime()函数的格式为:

intmktime([inthour[,intminute[,intsecond[,intmonth[,intday[,intyear]]]]]])strtotime()函数的格式为:

intstrtotime(stringtime)2.4mktime()和strtotime()函数示例5-15:mktime()和strtotime()函数的应用。2.5getdate()函数getdate()函数用来获取日期/时间信息,返回一个包含日期信息的关联数组。格式为:

arraygetdate([inttimestamp])2.5getdate()函数示例5-16:getdate()函数的应用。2.6date()函数date()函数用来格式化一个本地日期和时间。格式为:

stringdate(stringformat[,inttimestamp])date()函数的常见调用方式如下所示:

echodate('Y-m-dH:i:s'); //输出当前日期时间格式:2016-05-2016:08:422.6date()函数示例5-17:date()函数的应用。2.7microtime()函数microtime()函数用来返回当前的UNIX时间戳和微秒数。格式为:

mixedmicrotime([boolget_as_float])2.7microtime()函数示例5-18:microtime()函数的应用。3.字符串处理函数在Web开发中,字符串是使用最为频繁的数据类型之一。信息的分类、解析、存储和显示,以及网络中的数据传输都需要操作字符串来完成。在PHP中,可以把字符串当作字符集合来看待,字符串中的字符可以通过在字符串后面加花括号{index}来指定,index表示的是所要字符从零开始的偏移量。字符串操作也是编程中极为常用的操作,例如,字符串的格式化、字符串的分割和连接、字符串的比较,以及字符串的查找、匹配和替换等。PHP中提供了大量实用的函数,可以帮助用户完成许多复杂的字符串处理工作。3.字符串处理函数示例5-19:字符串当作字符集合的应用。3.1strlen()函数strlen()函数用来返回字符串的长度(所占字节数)。格式为:

intstrlen(stringstr)3.1strlen()函数示例5-20:strlen()函数的应用。3.2trim()、ltrim()、rtrim()函数这三个函数都是用来去除字符串中的空格或者其他预定义字符。格式为:

stringtrim(stringstr[,stringcharlist]) stringltrim(stringstr[,stringcharlist]) stringrtrim(stringstr[,stringcharlist])3.2trim()、ltrim()、rtrim()函数示例5-21:trim()、ltrim()、rtrim()函数的应用。3.3str_pad()函数str_pad()函数用来对字符串进行填补。格式为:

stringstr_pad(stringstr,intpad_length[,stringpad_string[,intpad_type]])3.3str_pad()函数示例5-22:str_pad()函数的应用。3.4strtolower()、strtoupper()、ucfirst()、ucwords()函数这四个函数都是用来对字符串进行大小写转换。格式为: stringstrtolower(stringstr) stringstrtoupper(stringstr) stringucfirst(stringstr) stringucwords(stringstr)3.4strtolower()、strtoupper()、ucfirst()、ucwords()函数示例5-23:strtolower()、strtoupper()、ucfirst()、ucwords()函数的应用。3.5strpos()、strrpos()函数这两个函数都是用来查找一个子串在一个字符串中出现的位置(字符串位置从0开始);如果没有找到则返回FALSE。格式为: intstrpos(stringstr,stringsubstr[,intstart]) intstrrpos(stringstr,stringsubstr[,intstart])3.5strpos()、strrpos()函数示例5-24:strpos()、strrpos()函数的应用。3.6strstr()函数strstr()函数用于返回一个子串在一个字符串中第一次出现的位置,并返回从该位置开始的字符串(区分大小写);如果没有找到则返回FALSE。格式为:

stringstrstr(stringstr,stringsubstr[,boolsearch])3.6strstr()函数示例5-25:strstr()函数的应用。3.7substr()函数strstr()函数用于返回一个字符串中从指定位置开始指定长度的子串,也就是字符串的截取。格式为:

stringsubstr(stringstr,intstart[,intlength])3.7substr()函数示例5-26:substr()函数的应用。3.8str_replace()函数str_replace()函数用来把一个字符串中的任意子串全部替换为另外一个子串(区分大小写)。格式为:

mixedstr_replace(mixedsearch,mixedreplace,mixedsubject[,int&count])3.8str_replace()函数示例5-27:str_replace()函数的应用。3.9explode()、str_split()函数这两个函数都是用来对一个字符串按照某种规则进行分割。explode()函数用来将一个字符串按照某个指定的字符分割成多段,并将每段按顺序保存到一个数组中,该函数的返回值就是一个数组。格式为: arrayexplode(stringseparator,stringstr[,intlimit])str_split()函数用来将一个字符串以指定的长度为单位分割成多段,并返回由每一段组成的数组。格式为:

arraystr_split(stringstr[,intsplit_length])3.9explode()、str_split()函数另外,implode()函数与explode()函数刚好相反。implode()函数用来将一个数组按照某个指定的字符组合成一个字符串。格式为: string

implode(stringseparator,arrayarr)3.9explode()、str_split()函数示例5-28:explode()函数的应用。3.9explode()、str_split()函数示例5-29:str_split()函数的应用。3.10nl2br()函数nl2br()函数用来把换行符“\n”替换成HTML的换行符“<br>”。格式为:

stringnl2br(stringstr[,boolxhtml])3.10nl2br()函数示例5-30:nl2br()函数的应用。4.图像处理函数PHP提供了一系列内置的图像处理函数来实现在网站编程中对图像的编辑,这在很多需要动态生成图像、自动批量处理图像等方面,能给PHP网站开发这带来巨大帮助,其中最为典型的应用有随机图形验证码、图片水印、数据统计中的饼状图、柱状图的生成等。PHP的图像处理函数都封装在一个称为GD库的函数库中,要使用GD库中的函数来进行图像处理,必须保证安装了GD库。最新的GD库支持GIF、JPEG、PNG和WBMP等格式的图像文件,通过GD库中的函数可以完成各种点、线、几何图形、文本及颜色的操作和处理,还可以创建或读取多种格式的图像文件。4.图像处理函数在PHP中,通过GD库处理图像的操作,都是先在内存中处理,操作完成以后再以文件流的方式,输出到浏览器或保存在服务器的磁盘中。创建一幅图像应该完成以下4个步骤:创建画布绘制图像输出图像释放资源4.1画布管理在PHP中,可以使用imagecreate()和imagecreatetruecolor()这两个函数创建指定的画布。创建画布就是在内存中开辟一块存储区域,以后对图像的所有操作都是基于这个画布处理的,画布就是一个图像资源。imagecreate()函数用来创建一幅基于调色板的图像,其返回一个图像标识符,代表了一幅指定大小的空白图像;imagecreatetruecolor()函数用来创建一幅真彩色图像,其返回一个图像标识符,代表了一幅指定大小的黑色图像。其语法格式为:

resourceimagecreate(intx_size,inty_size)

resourceimagecreatetruecolor(intx_size,inty_size)4.1画布管理imagesx()函数用来获取图像的宽度,imagesy()函数用来获取图像的高度。其语法格式为:

intimagesx(resourceimage)

intimagesy(resourceimage)imagedestroy()函数用来销毁图像,释放内存与该图像的存储单元。其语法格式为: boolimagedestroy(resourceimage)4.1画布管理示例5-31:创建一幅画布,输出画布的宽度和高度,最后销毁该画布。4.2设置颜色在使用PHP动态输出图像的同时,可以调用imagecolorallocate()函数对图像中的颜色进行设置。如果图像中需要设置多种颜色,只要多次调用该函数即可。该函数返回一个标识符,代表了由给定的RGB成份组成的颜色。其语法格式为:

intimagecolorallocate(resourceimage,intred,intgreen,intblue)4.2设置颜色示例5-32:创建一幅画布,并给该画布设置一些颜色。4.3生成图像使用GD库中提供的函数动态绘制完成图像以后,就需要输出到浏览器或者将图像以文件形式保存起来。在PHP中,可以将动态绘制完成的画布,直接生成GIF、JPEG、PNG和WBMP这4种图像格式,分别通过调用imagegif()、imagejpeg()、imagepng()和imagewbmp()这4个函数来生成以上格式的图像。其语法格式为: boolimagegif(resourceimage[,stringfilename]) boolimagejpeg(resourceimage[,stringfilename[,intquality]]) boolimagepng(resourceimage[,stringfilename]) boolimagewbmp(resourceimage[,stringfilename[,intforeground]])4.3生成图像示例5-33:创建一幅画布,生成图片输出给浏览器,最后销毁该画布。4.4绘制图像在PHP中绘制图像的函数非常丰富,包括点、线、各种几何图形等平面图形,都可以通过PHP中提供的各种画图函数完成。这些图像绘制函数都需要使用画布资源,并在画布中的位置通过坐标(原点是该画布左上角的起始位置,以像素为单位,沿着X轴正方向向右延伸,沿着Y轴正方向向下延伸)决定,而且还可以通过函数中的最后一个参数设置每个图形的颜色。4.4.1imagefill()函数imagefill()函数用来使用指定的颜色对图形实现区域填充。其语法格式为:

boolimagefill(resourceimage,intx,inty,intcolor)4.4.1imagefill()函数示例5-34:将画布的背景设置为蓝色。4.4.2imagesetpixel()函数imagesetpixel()函数用来使用指定的颜色在画布中绘制一个单一像素的点。其语法格式为:

boolimagesetpixel(resourceimage,intx,inty,intcolor)4.4.3imageline()函数imageline()函数用来使用指定的颜色在画布中绘制一条线段。其语法格式为:

boolimageline(resourceimage,intx1,inty1,intx2,inty2,intcolor)4.4.3imageline()函数示例5-35:绘制两个像素点和一条线段。4.4.4imagerectangle()和imagefilledrectangle()函数imagerectangle()函数用来使用指定的颜色在画布中绘制一个矩形;imagefilledrectangle()函数用来绘制一个矩形并使用指定的颜色进行填充。其语法格式为:

boolimagerectangle(resourceimage,intx1,inty1,intx2,inty2,intcolor)

boolimagefilledrectangle(resourceimage,intx1,inty1,intx2,inty2,intcolor)4.4.4imagerectangle()和imagefilledrectangle()函数示例5-36:绘制一个指定颜色的矩形和一个使用指定颜色填充的矩形。4.4.4imagerectangle()和imagefilledrectangle()函数示例5-37:绘制矩形并对图形进行区域填充。4.4.5imagepolygon()和imagefilledpolygon()函数imagepolygon()函数用来使用指定的颜色在画布中绘制一个多边形;imagefilledpolygon()函数用来绘制一个多边形并使用指定的颜色进行填充。其语法格式为:

boolimagepolygon(resourceimage,arraypoints,intnum_points,intcolor)

boolimagefilledpolygon(resourceimage,arraypoints,intnum_points,intcolor)4.4.5imagepolygon()和imagefilledpolygon()函数示例5-38:绘制一个指定颜色的五边形和一个使用指定颜色填充的六边形。4.4.6imageellipse()和imagefilledellipse()函数imageellipse()函数用来使用指定的颜色在画布中绘制一个椭圆;imagefilledellipse()函数用来绘制一个椭圆并使用指定的颜色进行填充。其语法格式为:

boolimageellipse(resourceimage,intcx,intcy,intw,inth,intcolor)

boolimagefilledellipse(resourceimage,intcx,intcy,intw,inth,intcolor)4.4.6imageellipse()和imagefilledellipse()函数示例5-39:绘制一个指定颜色的圆和一个使用指定颜色填充的椭圆。4.4.7imagearc()函数imagearc()函数用来使用指定的颜色在画布中绘制一个椭圆弧,也可以绘制完整的圆形或者椭圆形。其语法格式为:

boolimagearc(resourceimage,intcx,intcy,intw,inth,ints,inte,intcolor)4.4.7imagearc()函数示例5-40:绘制一个笑脸图形。4.5在图像中绘制文字在图像中显示的文字也需要按照坐标位置绘制上去。在PHP中提供了非常灵活的文字绘制方法,可以使用imagestring()、imagestringup()、imagechar()等函数使用内置的字体文字绘制到图像中。4.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论