PHP5常用函数介绍课件

上传人:n85ho7****4h85bh 文档编号:240923135 上传时间:2024-05-18 格式:PPT 页数:40 大小:873.21KB
返回 下载 相关 举报
PHP5常用函数介绍课件_第1页
第1页 / 共40页
PHP5常用函数介绍课件_第2页
第2页 / 共40页
PHP5常用函数介绍课件_第3页
第3页 / 共40页
点击查看更多>>
资源描述
18 五月 2024本书技术支持站点:http:/1网站建设(PHP)张萍03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/2第6章 PHP5常用函数介绍 n6.1 PHP5内置函数概述 n6.2 数组函数 n6.3 字符串处理函数 n6.4 时间日期函数n6.5 数学函数n6.6 图像处理函数n6.7 其他函数 03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/36.1 PHP5内置函数概述n6.1.1 标准函数与扩展函数nPHP中的函数分为内置函数和用户自定义函数两大类。nPHP中的内置函数也大体分为两大类,一是标准函数库,二是扩展函数库。标准函数库中的函数存放在PHP内核中,可以在程序中直接使用,不需要其他任何声明、载入等操作。而扩展函数库中的函数一般并不能直接使用,而是按照个人不同的需求来有选择地开启或者关闭。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/46.1 PHP5内置函数概述n6.1.1 标准函数与扩展函数n扩展函数按照功能的不同被分门别类地封装在多个DLL函数库中,这些DLL库存放在PHP安装文件夹下。在PHP5中,扩展函数被存放在PHP安装目录的ext/子目录下。如图6-1所示:n当我们需要用到这些扩展函数库中的函数时,只需要在PHP.INI配置文件中将此扩展库打开即可。它们在PHP.INI中的位置如图6-2所示:03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/56.1 PHP5内置函数概述n6.1.2 启用扩展函数库n打开一个扩展库的方法很简单,只需要将“;extension=php_xxx.dll”前 面 的 分 号“;”去掉,并且保存php.ini,然后重新启动IIS或者APACHE,此时php.ini生效,此扩展随即可以使用。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/66.2 数组函数 n6.2.1 数组函数一览n详见自编教材P13603 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/76.2 数组函数 n6.2.2 array()函数nArray()函数用来建立一个新数组。函数的参数可以是一个混合类型。n例6-1 func_array.php 03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/86.2 数组函数 n6.2.3 count()函数n count()函数 n使用count()函数可以用来统计一个数组中元素的个数。这在循环遍历一个未知长度的数组时尤其有用。n例6-2 func_count.php 03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/96.2 数组函数 n6.2.4 each()函数nEach()函数可以返回一个数组中当前元素的键和值并将数组指针向前移动一步。因此它常常被用在一个循环中来遍历一个数组。n例6-3 func_each.php03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/106.2 数组函数 n6.2.5 current()、reset()、end()、next()和prev()函数n这5个函数的作用都是用来进行数组内部指针操作的。nCurrent():返回当前内部指针所指的元素的值。当到达数组末尾时返回false。nReset():将内部指针指向数组的第一个元素,并返回其值。数组为空时返回false。nEnd():将内部指针指向数组的最后一个元素,并返回其值。nNext():将数组指针指向当前元素的下一个元素,并返回其值。到达末尾时返回false。nPrev():将数组指针指向当前元素的上一个元素,并返回其值,当到达顶端时返回false。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/116.2 数组函数 n6.2.5 current()、reset()、end()、next()和prev()函数n在这里要注意current()函数和next()函数的不同。他们虽然都是取出一个元素值,但是current()并不移动指针。也就是说current()返回的是未移动指针之前所指向的元素的值,而next()返回的是移动指针之后所指向的元素的值。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/126.3 字符串处理函数 n6.3.1 字符串函数处理一览n详见自编教材P14303 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/136.3 字符串处理函数n6.3.2 trim(),ltrim(),rtrim(),chop()和strlen()函数n这5个函数的功能类似。nChop()函数与rtrim()函数作用相同,都是去除字符串右端的空格。nLtrim()函数去除字符串左端的空格。nTrim()函数去除字符串左右两端的空格。nStrlen()函数输出字符串长度。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/146.3 字符串处理函数n6.3.3 ucwords(),ucfirst(),strtoupper(),strtolower()和str_word_count()函数nUcwords()函数将每个单词的首字母大写.nUcfirst()函数将整个字符串首字母大写.nStrtoupper()函数将全部字母都大写.nStrtolower()函数将所有字母都变成小写.nStr_word_count()函数统计字符串中单词个数.03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/156.3 字符串处理函数n6.3.4 字符串查找函数n1.substr_count()函数:nsubstr_count()函数的格式为:nint substr_count(string haystack,string needle,int offset,int length)nSubstr_count()函数用来统计一个字符串needle在另一个字符串haystack中出现的次数。该函数返回值是一个整数。有两个可选参数offset和length分别表示要查找的起点和长度。值得注意的是,offset是从0而不是从1开始计算的 03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/166.3 字符串处理函数n6.3.4 字符串查找函数n2.strrpos()函数和strpos()函数:nsubstr_count()函数的格式为:nint strrpos(string haystack,mixed needle,int offset)n该函数返回字符needle在字符串haystack中最后一次出现的位置。这里needle只能是一个字符,而不能是一个字符串。如果提供一个字符串,PHP也只会取字符串的第一个字符使用,其他字符无效。参数offset也是用来限制查找的范围.03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/176.3 字符串处理函数n6.3.4 字符串查找函数n2.strrpos()函数和strpos()函数:nstrpos()函数的格式为:nint strpos(string haystack,mixed needle,int offset)n该函数与strrpos函数仅一字之差。但功能相差很大。strpos()函数的needle参数允许使用一个字符串,而且返回的是这个字符串在haystack中第一次出现的位置,而不是最后一次。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/186.3 字符串处理函数n6.3.4 字符串查找函数n3.strstr()函数和strrchr()函数:nStrstr()函数和strrchr()两个函数的格式分别是:nstring strstr(string haystack,string needle)nstring strrchr(string haystack,string needle)n由此可见,这两个函数均返回一个字符串,而不是返回一个表示位置的整数。两个函数除了函数名不同,使用方法完全相同。但是其作用略有不同。Strstr()函数用来查找一个子串needle在一个字符串haystack中第一次出现的位置,并返回从此位置开始的字符串。Strrchr()函数查找一个字符needle在一个字符串haystack中最后一次出现的位置并返回从此位置开始之后的字符串。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/196.3 字符串处理函数n6.3.5 字符串替换函数n(1)nl2br()函数n该函数的名字看起来比较怪,中间包含一个数字“2”,用汉语念起来似乎有点别扭。实际上这里的“2”在英文中念“two”,与“to”谐音。这里的“2”实际上就是“to”的一种缩写而已。明白了这一点之后,函数名字和功能都一目了然了。在很多中文参考资料中,将此函数的功能描述为“将换行符替换成HTML的换行符”,在本书中我们也沿用这一解释。但是如果查阅英文版PHP手册,会发现大意为“在每一行前插入HTML换行标记”。也就是说是“插入”而不是“替换”。但是我们在使用此函数时,就其效果而言相当于“替换”,因此我们仍然采用一贯的解释,将其归为字符串替换函数。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/206.3 字符串处理函数n6.3.5 字符串替换函数n(1)str_replace()函数 nstr_replace函数允许我们将一个字符串中的任意子串全部替换为另外一个子串。其使用格式如下:nmixed str_replace(mixed search,mixed replace,mixed subject,int&count)n这个格式看起来有点复杂。我们的简化解释如下:str_replace()函数将subject中的所有search替换成replace,并把替换的次数存放在count中,其中count参数为可选。这里的search、repalce、subject以及整个函数的返回值都是mixed类型,也就说提供的参数可以是多种类型。常用的有字符串和数组。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/216.3 字符串处理函数n6.3.6 字符串截取函数nPHP中常用字符串截取函数有substr()等。nSubstr()函数的使用格式如下:nstring substr(string string,int start,int length)n本函数返回一个字符串中从指定位置开始指定长度的子串。参数string为原始字符串,start为截取的起始位置(从0开始计),可选参数length为要截取的长度。值得一提的是,参数start和length均可以用负数,start为负数时说明从倒数第start个字符开始取;length为负数时表示从start位置开始取到倒数length的位置结束。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/226.3 字符串处理函数n6.3.7 字符串分割函数n(1)explode()函数narray explode(string separator,string string,int limit)nexplode函数用来将一个字符串按照某个指定的字符分割成多段,并将每段安顺序存入一个数组中。该函数的返回值就是一个数组。separator参数为分割符,可以是一个字符串,也可以是单个字符。string为要处理的字符串。参数limit为可选,如果设置了limit,则返回的数组包含最多limit个元素,并且最后那个元素将包含 string 的剩余部分。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/236.3 字符串处理函数n6.3.7 字符串分割函数n(2)str_split()函数narray str_split(string string,int split_length)nstr_split()函数将一个字符串以一定长度为单位分割成多段,并返回由每一段组成的数组。str_split()函数不是以某个字符串为分割依据,而是以一定长度为分割依据。参数string为要分割的字符串,可选参数length设置分割的单位长度。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/246.4 时间日期函数n6.4.1 时间日期函数一览表n详见自编教材P16103 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/256.4 时间日期函数n6.4.2 获取当前时间的Unix时间戳nUnix时间戳是指从Unix纪元(格林威治时间1970年1月1日00时00分00秒)开始到当前时间为止相隔的秒数。因此很显然Unix时间戳应该代表一个很大的整数。Unix时间戳在很多时候非常有用,尤其在对时间进行加减时作用最为明显。比如当前时间是“2006年10月10日 10点10分10秒”,在这个时间基础上加上25天8小时55分58秒,会得到一个什么时间呢?可能推算起来比较复杂。因为除了时间进位以外,还涉及到不同月份天数可能不同(可能是28天、29天、30天、31天)等等。所以用数学方法直接加减是不行的。如果我们使用Unix时间戳,那么在第一个时间的基础上加上一定的秒数,得到的就是第二个时间的Unix时间戳。然后用PHP的有关函数把这个时间戳转换成普通时间格式显示即可。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/266.4 时间日期函数n6.4.3 获取指定时间的Unix时间戳nPHP给我们提供了mktime()函数和strtotime()函数来完成这个操作。n使用格式:nint mktime(int hour,int minute,int second,int month,int day,int year)n本函数的作用是根据给出的参数返回Unix时间戳。6个参数全都是整数,分别代表小时、分钟、秒、月、日、年。参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。当全部参数都被省略时,获得的就是当前时间的Unix时间戳。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/276.4 时间日期函数n6.4.3 获取指定时间的Unix时间戳nstrtotime()函数允许我们使用一个时间字符串作为参数来获取Unix时间戳。这个时间串的顺序与我们中文习惯较为吻合。如“2000-11-12 10:34:55”表示2000年11月12日10时34分55秒。该字符串指代了一个具体的时间,可以作为strtotime()函数的参数,来获得这个时间的Unix时间戳。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/286.4 时间日期函数n6.4.4 从Unix时间戳取得时间日期信息 n前面我们学习了如何获得一个时间的Unix时间戳。虽然用Unix时间戳有利于我们在计算机中进行时间的计算,但是在显示时间时还是应该显示成通用的“年月日时分秒”以及星期几等格式,而不是直接输出一个Unix时间戳。PHP中提供了date()和getdate()等函数来实现从Unix时间戳到通用时间日期的转换。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/296.4 时间日期函数n6.4.4 从Unix时间戳取得时间日期信息 n(1)getdate()函数ngetdate()函数用来将一个Unix时间戳格式化成具体的时间日期信息,其使用格式如下:narray getdate(int timestamp)n其中参数timestamp就是一个Unix时间戳。如果不指定参数,则默认使用当前时间。该函数返回一个数组,数组中存放了详细的时间信息。通过数组下标可以取得数组中的元素值。其下标与值得对应关系见表6-4。(自编教材P164)03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/306.4 时间日期函数n6.4.4 从Unix时间戳取得时间日期信息 n(1)date()函数ndate()函数区别于getdate()函数,可以将一个Unix时间戳所代表的时间按照某种容易识读的格式输出出来。该函数的使用格式:nstring date(string format,int timestamp)n该函数直接返回一个字符串。这个字符串就是一个指定格式的日期时间。参数format是一个字符串,用来指定输出的时间的格式。可选参数timestamp是要处理的时间的Unix时间戳。如果参数为空,那么默认值为当前时间的Unix时间戳。n函数的重点是如何使用format参数。format参数必须由指定的字符构成,不同的字符代表不同的特殊含义。见表6-5。(自编教材P166)03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/316.5 数学函数n数学函数一览表详见自编教材P16903 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/326.6 图像处理函数 nPHP提供了一系列函数,来实现在网站编程中对图像进行编辑。虽然使用这些函数能够实现的功能十分有限,无法和功能强大的专业图形图像软件相比,但是在很多需要动态生成图像、自动批量处理图像等方面,能给PHP网站开发者带来巨大帮助。其中最为典型的应用有随机图形验证码、图片水印、数据统计中饼状图、柱状图的生成等等。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/336.6 图像处理函数 nPHP的图像处理函数都封装在一个函数库中,这就是GD库。n开启GD库:n用记事本打开你的php.ini配置文件,利用查找功能找到“;extension=php_gd2.dll”这一行,将最前面的分号去掉,然后保存,重新启动IIS(Apache),这时候GD库已经被自动加载了。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/346.6 图像处理函数 n6.6.1 用图象处理函数绘制Png图形n由于本部分函数个数较多,而且具体使用方法较为复杂,要在很有限的篇幅内进行一个较全面的介绍是十分困难的。我们这里仅给出两个例子,让读者先体会一下PHP图像处理函数的简单使用。n详见自编教材P17403 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/356.6 图像处理函数 n6.6.2 用图象处理函数制作水印效果n所谓图像水印,就是在图像上标上一些特殊的图形或符号,用来作为图像所有者的标志或者防止图片被盗用。n除了png格式,我们还可以把图像输出为jpg、gif等常用的格式。而且我们不仅可以直接创建一个图像流来绘制图形,还可以将一张已有的图片作为图像流读入,然后在此基础上对图像进行处理。n详见自编教材P17603 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/366.7 其他函数n据粗略统计,PHP5提供的函数总数达3800多个,分属于160多个类别。可以说是体系极为庞大。这些函数涵盖了PHP编程的方方面面,给PHP开发者带来巨大的便利和强有力的支撑。n虽然本章中我们已经用了很大的篇幅来介绍一些最常用的函数,但和PHP全部函数比起来,仍然只是极小的一部分。除此之外,还有数据库函数、XML函数、Socket函数、正则表达式函数、COM与DOM函数、压缩函数、MAIL函数等等。这么多的函数必然不是短期学习能够掌握的,这就要求读者首先充分了解PHP函数的体系,然后通过长时间不断的学习、积累,最终达到较高的水平。n建议读者必备一份中文版的官方PHP手册。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/37案例6 完整图像验证码程序开发n一、案例分析n(1)数字随机产生.n(2)为增加辨认的难度,在图象上加一些象素点,随机生成两条虚线.n(3)打乱数字的位置.03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/38案例6 完整图像验证码程序开发n二、案例编写nshowimg.php:生成验证码,将验证码写入图片,并输出图片nlogin.html:调用showimg.php,将用户输入的验证码提交到check.php进行验证。ncheck.php:用来验证用户输入的验证码是否正确。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/39本章小结n本章中我们着重介绍了PHP5的常用函数,并介绍了PHP函数的总体体系。主要讲解了数组函数、字符串处理函数、日期时间函数、图像处理函数等常用函数。读者在学完本章后应熟练掌握20-30个常用PHP函数的使用方法,并能够参考PHP手册自行学习其他函数的使用方法。03 八月 2023本书技术支持站点:http:/www.18 五月 2024本书技术支持站点:http:/40练 习 题n1.从网络上下载PHP手册,了解PHP的函数体系。n2.编制程序,练习数组函数、字符串处理函数的使用。n3.常用的时间/日期函数有哪些?在使用时应注意什么问题?n4.编写一个绘图程序,在图像上绘制一个简易人物形状,并适当添加文字信息。03 八月 2023本书技术支持站点:http:/www.
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!