|
Web编程技术八 |
|
|
追梦紫衣书阁《Web编程技术》最后编辑时间:2020-5-1任务四:函数函数——自定义函数函数:就是程序中用来实现特定功能的代码段,避免代码 的重复书写。自定义函数:就是开发人员可根据实际功能编写的代码段。提问:函数定义的关键是什么?任务四:函数函数——自定义函数①函数 定义语法function函数名([参数1,参数2,……]){函数体}function是定义函数时必须使用的关键字;函数 名的命名规则与标识符相同,函数名不区分大小写,且是唯一的;参数是外界传递给函数的值,它是可选的,当有多个参数时,使用英文逗号“,” 分隔;函数体是专门用于实现特定功能的代码。任务四:函数函数——自定义函数①函数的调用函数名([参数1,参数2,……])函 数在定义完成后,必须通过调用才能使函数在程序中发挥作用。函数的调用非常简单,只需引用函数名,并传入相应的参数即可。如,var_du mp($str),就表示调用“var_dump()”函数,并传递参数$str。任务四:函数函数——函数返回值在调用函数后,若想要得 到一个处理结果,即函数的返回值,可以使用return关键字将返回值传递给调用者。functionsum($a,$b){ //定 义sum()函数,用于求两个数的和$result=$a+$b;return$result; //返回处理结果}ec hosum(23,45); //输出调用函数后的的返回结果:68任务四:函数函数——可选参数PHP支持可选参数, 并且可以指定可选参数的默认值。参数“$a”是必选参数参数“$b”是可选参数参数“$b”设置了默认值可选参数必须放在必选参数的后面当 调用函数时省略了可选参数,则该参数在函数中将使用默认值。functiontest($a,$b=''cast''){return $a.$b; //拼接两个字符串}echotest(''it''); //输出结果:itcast提问:局部变量和全局变 量任务四:函数函数——函数中变量的作用域通常情况下,为避免变量命名冲突,函数内的变量与函数外的变量不能互相访问。因此,变量在它的作 用范围内才可以使用,这个作用范围称为变量的作用域。其中,在函数中定义的变量称为局部变量,仅能在函数内使用,当函数执行完成后被释放; 在函数外定义的变量称为全局变量,正常情况下仅可在函数外使用。任务四:函数函数——函数中变量的作用域$var=100; //在此 处定义变量$var$str=''php''; //在此处定义变量$strfunctiontest(){//方式一:利用glo bal关键字取得全局变量global$var;echo''全局变量$var:''.$var;//方式二:利用$GLOBALS [''变量名'']访问echo''全局变量$str:''.$GLOBALS[''str''];}test();函数中使用全局变量的方法:任 务四:函数函数——匿名函数匿名函数就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函 数无需考虑函数命名冲突的问题。任务四:函数函数——匿名函数①匿名函数的调用$sum=function($a,$b){/ /定义匿名函数return$a+$b;};echo$sum(100,200);//输出结果:300将匿名函 数赋值给变量$sum通过“变量名()”的方式调用匿名函数。任务四:函数综合实例——自定义函数1自定义函数printTable($r ow,$col,$content,$border=1),用来动态输出表格。其中参数:$row:行数,$col:列数,$conte nt:填充内容,$border:边框线任务四:函数综合实例——自定义函数2定义两个变量:$day(本月多少天),$w本月的一号是 星期几,根据这两个变量来定义一个函数是下面表格的输出。字符串教学内容:教学目标:本讲介绍PHP的字符串数据,包括字符与字符集、字符 串的定义、字符串的输出、字符串的常用操作等内容。掌握PHP中字符串数据的指定方法,以及常用操作。1、字符与字符集在PHP中,没有单 独的字符型数据类型,对字符的存储、操作是由字符串数据来实现的。(1)基本概念字符(character)是人类语言最小的表义符号。 字符串是由0个或多个字符组成的集合。字符编码(characterencoding):给定一系列字符,并对每个字符赋予一个数值,用 数值来代表对应的符号,这个数值就是字符编码(characterencoding)字符集(characterset):给定一系列 字符并赋予对应的编码后,所有这些“字符和编码对”组成的集合就是字符集(characterset)。字符集(2)字符集匹配在PH P程序设计或运行过程中,经常会出现页面乱码的问题,这些都是因为字符的编码方式、也就是字符集不匹配导致的。一般在如下2种情况下可能会 出现乱码。导入代码时在Web开发及维护过程中,经常会导入一些已有代码进行浏览或编辑,如果原代码的编码方式与现在使用的编辑环境的编码 方式不一致,就会出现乱码。UTF-8ANSI运行代码时由于浏览器使用的编码方式与文本编码方式不一致所引起的。例如,如果在访问百度搜 索主页时,将浏览器编码方式转换为BIG5或者UTF-8,就会出现中文乱码的问题。如下图所示。浏览器编码中文乱码文件编码2、字符串的 指定方法字符串的指定方法有3种,即单引号、双引号以及定界符。(1)单引号使用单引号的字符串不能插值。在单引号中出现的变量会原样输 出,PHP引擎不会对它进行解析。例如:$str1=‘$year年是闰年!’;代码中的变量$year将原样输出,不会将变量的值 插入到字符串中。使用单引号的字符串只能使用“\′”与“\\”2种转义字符。由于单引号表示的字符串不需要解析变量及转义字符,也就没有 太多的额外开销,所以,用单引号定义字符串效率是最高的,编程中尽量使用这种定义方式。(2)双引号用双引号定义的字符串中允许插值。例 如,对上面1中的语句,若这样定义:$str2=“$year年是闰年!”;字符串的变量会自动被替换成变量的值。注意,PHP解析 器在解析变量时,会从遇到美元符号($)开始尽量多地取得后面的字符来组成一个合法的变量名,当遇到单引号、双引号或者大括号“}”时才会 停止字符的获取。上面语句的正确写法是:$str2=“${year}年是闰年!”;3、字符串的输出在PHP中,可以采用多种方法 向浏览器进行输出,比如,echo、print、printf()、sprintf()、print_r()、var_dump()等。e cho语法结构:voidecho(string$arg1[,string$...])print语法结构:int print(string$arg)printf()函数原型:intprintf(string$format[,m ixed$args[,mixed$...]])sprintf()该函数的用法与printf()相似,但它不是输出字符串 ,而是把格式化的字符串以返回值的形式写入到一个变量中。print_r()该函数能够智能地输出传给它的参数。如果传递给它的是str ing、integer或float,将输出变量值本身;如果给出的是数组,将会按照一定格式显示键和元素;如果是对象,则与数组的输出类 似,显示对象的初始化属性。print_r()函数不能输出PHP的NULL类型数据,并将布尔类型的true输出为1,而不是true本 身。var_dump()该函数与print_r()函数类似,只是它能以更适合阅读的格式显示所有的PHP数据类型的值。该函数能输出全 部的PHP数据,包括NULL类型及布尔类型。常用于程序调试。例2.字符串的输出。4、字符串常用操作对字符串的常用操作,一般都是通过 PHP的内置函数来完成。PHP中文手册:http://www.t086.com/code/php/(1)访问单个字符字符串相当 于一个字符数组,可以使用字符偏移量来访问字符串中的单个字符。例如:$string=‘ChineseDream’;$char =$string[1];echo$char;//输出h(2)获取字符串长度PHP提供s trlen()函数来计算字符串的长度,其原型为:intstrlen(stringstring)(3)大小写转换PHP中提供 了4个函数来改变字符串的大小写,它们的原型为:stringstrtolower(stringstring)将字符串str 全部变小写字符串。stringstrtoupper(stringstring)将字符串str全部变大写字符串。str ingucfirst(stringstring)将字符串第一个字符改大写stringucwords(stringstri ng)将字符串每个字第一个字母改大写。(4)去除首尾空格及特殊字符PHP提供了以下3个处理函数:trim()该函数去除字符串首 尾的空格及特殊字符,其原型为:stringtrim(stringstring[,stringcharlist]);rtrim ()、ltrim()函数分别去除字符串右边、左边的空格及特殊字符。例:将字串#1024两侧的号与#号去除后输出。(5)翻转字 符串顺序strrev()函数接收一个字符串,然后返回一个翻转顺序的字符串副本。(6)重复字符串str_repeat()函数接收 一个字符串和一个计数参数(n),然后返回一个由字符串重复n次组成的新字符串。(7)字符串填充str_pad()函数由一个字符串填 充另一个字符串。可通过参数选择用何种字符串来填充,以及填充的位置,即仅左边、仅右边或者是两边都填充。(8)分解字符串(举例)ex plode()函数将字符串以某种分隔符进行分解,形成多个子字符串,并将这些子串存储于一个数组中。(9)合并字符串(举例)函数im plode()提供与explode()相反的功能,把数组中几个小的字符串拼接成一个大的字符串。(10)字符串截取(举例)如果要截 取字符串的子串,可以用substr()函数来实现。(11)字符串查找字符串的查找,就是在一个字符串中匹配另一个字符串或字符。查找 的结果有2种情况,即返回匹配位置【strops()函数】、返回剩余字符串【strstr()函数】。(12)字符串替换在PHP中,使用函数str_replace()实现字符串的替换。例2字符串的分解与合并。综合实例1.自定义一个函数:string?getFileType(String?$name);?求一个文件的后缀名。例如:调用时传入一个文件名的字串如:”a.txt”,哪个返回结果为”.txt”。2.使用字符串函数完成以下输出结果。(1)将”10:20:30:40:50”中”:”换成”,”号。(1)将字符串“strtoupper”转换为大写倒叙输出ThankYou《Web编程技术》立体化教程项目组 |
|
|
|
|
|
|
|
|
|
|