第3章 函数ppt课件(完整版).pptx
《第3章 函数ppt课件(完整版).pptx》由会员分享,可在线阅读,更多相关《第3章 函数ppt课件(完整版).pptx(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 函数ppt课件(完整版)第3章 函数PHP基础案例教程(第2版)学习目标/Target 掌握函数的基本使用方法,能够在程序中定义和调用函数 掌握函数的特殊调用方式,能够使用嵌套调用和递归调用两种方式调用函数 掌握PHP函数的高级运用,能够熟练使用可变函数、回调函数和匿名函数 掌握PHP内置函数的使用,能够使用内置函数对字符串、数字和时间日期进行处理 熟悉PHP手册的访问方法,能够通过PHP手册查询相关信息章节概述/ Summary通过前面两章的学习不难发现,在程序开发中,有时需要根据开发要求重复编写功能相同的代码。例如,求平均数、计算总分等。这样的编写方式不仅加重了开发者的工作量,而且
2、使代码的后期维护也变得相当困难。为此,PHP提供了函数,通过函数可以将程序中烦琐的代码模块化,提高程序的可读性,并且便于后期维护。本章将围绕PHP的函数进行详细讲解。目录/Contents010203函数的定义与调用函数的嵌套调用函数的高级应用0405PHP的内置函数PHP手册的使用函数的定义与调用 先定一个小目标!熟悉函数的概念和语法格式,能够说出如何自定义函数3.1.1 初识函数3.1.1 初识函数在程序开发中,通常通过定义一个函数来实现特定的功能,从而使代码可以被复用,避免重复编写相同功能的代码。开发人员根据实际功能需求定义的函数称为自定义函数。3.1.1 初识函数在PHP中,自定义函数
3、的语法格式如下。function 函数名(参数1, 参数2, ) 函数体“ ”中的参数可以根据实际需要设置或省略,在实际编写代码时不需要书写“ ”。T3.1.1 初识函数在定义函数时需要注意以下事项。l function是定义函数时必须使用的关键字。l 函数名的命名规则与标识符相同,且函数名是唯一的,不能重复。l 参数是外界传递给函数的值,它是可选的,当有多个参数时,各参数之间使用英文逗号“,”分隔。l 函数体是专门用于实现特定功能的代码。若想要得到函数的处理结果,即函数的返回值,则需要使用return关键字将需要返回的数据传递给调用者。 先定一个小目标!掌握函数参数的设置,能够实现无参函数、
4、有参函数、引用传参、设置参数默认值、指定参数类型以及可变参数列表3.1.2 设置函数的参数3.1.2 设置函数的参数如果不需要给函数传递参数,可以定义无参数的函数。1. 无参函数function shout() return come on;echo shout();/ 输出结果:come 3.1.2 设置函数的参数2. 有参函数function add($a, $b) $a = $a + $b; return $a;echo add(5, 7);/ 输出结果:12定义有参数的函数,函数内部会根据用户传递的参数进行操作。3.1.2 设置函数的参数2. 有参函数function add($a,
5、$b) $a = $a + $b; return $a;$x = 5;$y = 7;echo add($x, $y);/ 输出结果:12在调用有参函数时,还可以使用变量传参。3.1.2 设置函数的参数3. 引用传参当需要函数修改它的参数值时,需通过函数参数的引用传递来实现,即引用传参,在参数前添加“&”符号即可。function extra(&$str) $str .= and some extra;$var = food;extra($var);echo $var; / 输出结果:food and some 3.1.2 设置函数的参数4. 设置参数默认值在设置函数参数时,还可以为其指定默认值
6、,即可选参数。当调用者未传递该参数时,函数将使用默认值进行操作。function say($p, $con = say Hello) return $p $con;echo say(Tom);/ 输出结果:Tom say Hello设置默认值时,默认(可选)参数必须放在非默认(必选)参数的右侧。T3.1.2 设置函数的参数5. 指定参数类型在自定义函数时,可以指定参数具体是哪种数据类型。当用户调用sum()函数时,如果传递的参数不是int类型,程序会将其强制转换为int类型后再进行操作,这种方式称为弱类型参数设置。function sum(int $a, int $b) return $a +
7、 $b;echo sum(2.6, 3.8); / 输出结果:3.1.2 设置函数的参数还可以将函数参数设置为强类型参数,即当用户传递的参数类型不符合函数的定义,程序会报错提醒。5. 指定参数类型declare语句用于设定一段代码的执行指令,strict_types设置为1表示当前函数的设置使用强类型参数设置。declare(strict_types = 1);function sum2(int $a, int $b) return $a + $b;echo sum2(2.6, 3.8); / 输出结果:Fatal error: 3.1.2 设置函数的参数6. 可变参数列表在定义函数时,还可以
8、使用“”语法实现可变参数列表。“.$num”表示num()函数的参数数量可以是任意个,通过调用num()函数,传入不同个数的参数,在函数中使用$num以数组形式接收。function num(.$num) foreach ($num as $v) / foreach语句遍历数组 echo $v . ; num(1, 2, 3, 4, 5, 6, 7, 8, 9);/ 输出结果:1 2 3 4 5 6 7 8 9num(a, b, c);/ 输出结果:a b 先定一个小目标!熟悉函数中变量的作用域,能够说出全局变量和局部变量的区别3.1.3 函数中变量的作用域3.1.3 函数中变量的作用域变量只
9、有在其作用范围内才可以被使用,这个作用范围称为变量的作用域。在函数中定义的变量称为局部变量,在函数外定义的变量称为全局变量。?phpfunction test() $sum = 36; / 局部变量 return $sum;$sum = 0; / 全局变量echo test();/ 输出结果:36echo $sum; / 输出结果:3.1.3 函数中变量的作用域默认情况下,在函数中不能使用全局变量,局部变量的改变也不会对全局变量有任何影响。若要在函数中使用全局变量,PHP提供了3种方式:参数传递global关键字超全局变量$GLOBALS函数的嵌套调用 先定一个小目标!掌握函数的嵌套调用,能够
10、实现在函数内调用其他函数3.2.1 嵌套调用3.2.1 嵌套调用嵌套调用是指在调用一个函数的过程中,调用另外一个函数。function sum($sub1, $sub2) return $sub1 + $sub2;function avg($sub1, $sub2) $sum = sum($sub1, $sub2); return $sum / 2;echo avg(78.9, 56);echo ;echo avg(92, 90);嵌套调用3.2.1 嵌套调用函数嵌套调用的执行流程如下。 程序开始执行,调用avg()函数,并传递参数$sub1、$sub2。 在avg()函数中,调用sum()函
11、数并传递参数$sub1和$sub2,进入sum()函数,计算总分将结果返回到函数avg()中,同时将值赋给变量$sum。 avg()函数接着根据sum()函数返回的值,完成平均分的计算并将结果返回。 输出平均分,程序结束。 先定一个小目标!掌握函数的递归调用,能够在函数体内调用函数自身3.2.2 递归调用3.2.2 递归调用递归调用是函数嵌套调用中一种特殊的调用。递归调用是指函数在其函数体内调用自身的过程。使用递归调用方式的函数被称为递归函数。function factorial($n) if ($n = 1) return 1; return $n * factorial($n -1);ec
12、ho factorial(4);3.2.2 递归调用函数递归调用的执行流程如下。函数的高级应用 先定一个小目标!掌握静态变量的使用,能够利用static关键字在函数中声明静态变量3.3.1 静态变量3.3.1 静态变量通过前面的学习可以发现,当执行完函数后,在函数中定义的变量会被释放或者被重新赋值。例如,定义一个计数的函数num()。function num() $i = 1; echo $i; +$i;num()函数无论被调用多少次,输出的$i变量的值都是1,这是由于在每次调用该函数时,都会重新给变量$i赋值为1。3.3.1 静态变量若想在函数执行完成后依然保留局部变量的值,可以利用stat
13、ic关键字在函数中声明静态变量。function num() static $i = 1; echo $i; +$i;第1次调用num()函数输出1,第2次调用num()函数会输出2,依次类推,就可以轻松得到num()函数被调用的次数。 先定一个小目标!掌握可变函数的使用,能够实现可变函数名3.3.2 可变函数3.3.2 可变函数可变函数就是在一个变量名后添加一对圆括号“()”,让其变成一个函数的形式,PHP会自动寻找与变量值同名的函数,并且尝试执行它。?phpfunction shout() echo come on.;$funcname = shout;/ 定义变量,其值是函数的名称ech
14、o $funcname();/ 利用可变变量调用函数 先定一个小目标!掌握回调函数的使用,能够将函数作为参数传递3.3.3 回调函数3.3.3 回调函数如果在调用函数A时传入函数B,使函数B被函数A调用,那么函数B就是一个回调(callback)函数。如PHP内置函数call_user_func()可以接受用户自定义的回调函数作为参数。function sum($a, $b) return $a + $b;echo call_user_func(sum, 4, 5);3.3.3 回调函数在PHP中,还可以使用call_user_func_array()函数将一个数组作为回调函数的参数。回调函数
15、执行后,其返回值将作为call_user_func_array()函数的返回值。function sum($a, $b) return $a + $b;echo call_user_func_array(sum, 10, 20); 先定一个小目标!掌握匿名函数的使用,能够定义和调用匿名函数3.3.4 匿名函数3.3.4 匿名函数匿名函数就是没有函数名称的函数,也称作闭包函数,经常用作回调函数参数的值。对于临时定义的函数,使用匿名函数无须考虑函数命名冲突的问题。$sum = function($a, $b) / 定义匿名函数 return $a + $b;echo $sum(100, 200);
16、/ 输出结果:300若通过var_dump()打印匿名函数的变量,可以看到其数据类型为对象类型。T3.3.4 匿名函数在程序开发中,若要在匿名函数中使用外部的变量,使用use关键字来实现。通过关键字use加上小括号“()”的形式来引入函数外的变量$c ,小括号中的内容即为要使用的外部变量名称。当有多个外部变量时,需要在变量之间使用英文逗号“,”分隔。$c = 100;$sum = function($a, $b) use($c) return $a + $b + $c;echo $sum(100, 200); / 输出结果:3.3.4 匿名函数除此之外,匿名函数还可以作为函数的参数传递,实现回
17、调函数。function calculate($a, $b, $func) return $func($a, $b);echo calculate(100, 200, function($a, $b) / 输出结果:300 return $a + $b;);echo calculate(100, 200, function($a, $b) / 输出结果:20000 return $a * $b;);PHP的内置函数 先定一个小目标!掌握字符串函数的使用,能够实现字符串的截取、替换、过滤空白字符、比较和获取长度等操作3.4.1 字符串函数3.4.1 字符串函数字符串函数是PHP的内置函数,用于操
18、作字符串,在实际项目开发中有着非常重要的作用。函数名称功能描述strlen()获取字符串的长度strpos()在指定字符串中查找目标字符串首次出现的位置strrpos()获取指定字符串在目标字符串中最后一次出现的位置str_replace()用于对字符串中的某些字符进行替换操作substr()用于获取字符串中的子串substr_replace( )用于把字符串的一部分替换为另一个字符串3.4.1 字符串函数字符串函数是PHP的内置函数,用于操作字符串,在实际项目开发中有着非常重要的作用。函数名称功能描述explode()将指定字符串拆分成数组implode()用指定的连接符将数组中的键值拼接成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 函数ppt课件完整版 函数 ppt 课件 完整版
限制150内