批改状态:合格
老师批语:函数中的知识点, 基本上都在这里了
function 函数名(类型: 参数列表) {被执行的代码;}
<?phpfunction sum($a,$b){$a+$b;}?>
| 序号 | 类型 | 语法 | 描述 |
|---|---|---|---|
| 1 | 自定义函数 | function getName(){...} |
用户根据业务需求创建 |
| 2 | 系统函数 | substr(), count()... |
也叫预定义函数,不必声明直接调用 |
| 3 | 可变函数 | $funcName(); |
函数名使用变量表示 |
| 4 | 匿名函数 | $f = function (){...} |
也叫”闭包”或”函数表达式”,常用做回调处理 |
<?php// 1. 自定义函数function sum($a,$b){//自定义函数名为sumreturn $a+$b;//返回$a+$b}echo sum(2,5);//调用函数sumecho"<br><hr>";// 2. 系统函数$a=[1,2,3,4,5,6,7,54];echo max($a);//取数组中的最大值echo"<hr>";var_dump($a);//打印出变量的相关信息echo"<hr>";echo rand(1,9);//获取随机数echo"<hr>";// 3. 可变函数$funName = 'sum';//函数名赋值给变量echo $funName(4,6);echo"<hr>";// 4. 匿名函数:$d = function ($a , $b){return $a * $b;};echo $d(21,3);?>
| 序号 | 场景 | 描述 |
|---|---|---|
| 1 | return |
可以返回任何类型的值,包括函数类型 |
| 2 | 无return |
遇到}也会返回, 默认返回null |
| 序号 | 返回值类型 | 描述 |
|---|---|---|
| 1 | string |
字符串拼接 |
| 2 | array |
数组 |
| 3 | json |
JSON 字符串 |
| 4 | serialize |
序列化字符串 |
json 和序列化,使用时需要进行解码操作
<?php//1. 字符串拼装function st(){$name = "小明";$hob = "喜欢打篮球";return $name.$hob;}echo st();echo"<br>";// 2. 数组function arr(){$user = ['name'=>'李明','age' => '23','sex' => '男'];return $user;}var_dump(arr());$ab = print_r(arr(),true);printf('<pre>%s</pre>',$ab);// 3. JSON字符串function js(){// json_encode(): 将php数据编码为json格式的字符串返回return json_encode(['name'=>'李明','age' => '23','sex' => '男']);}echo js();echo"<hr>";$user = json_decode(js(), true);print_r($user);// 4. 序列化: 字符串echo"<br><hr>";function js1(){// json_encode(): 将php数据编码为json格式的字符串返回return serialize(['name'=>'李明','age' => '23','sex' => '男']);}echo js1();echo"<hr>";$user = unserialize(js1());print_r($user);?>
参数类型
| 序号 | 类型 | 描述 |
|---|---|---|
| 1 | 值参数 | 默认传参方式 |
| 2 | 引用参数 | 改变原始调用参数值 |
| 3 | 默认参数 | 调用时允许省略的参数 |
| 4 | 剩余参数 | 调用参数数量不确定 |
<?php//1. 值参数function lj( $a){return $a += 5;}$b = 34;echo lj($b) , '<br>';echo $b;echo '<hr>';// 2. 引用参数function lj1( &$a){return $a += 5;}$b = 34;echo lj1($b) , '<br>';echo $b;echo '<hr>';// 3. 默认参数function lj2( $a ,$b){return $a + $b;}echo lj2(5,34) , '<br>';echo '<hr>';// 4. 剩余参数function lj3(...$a ){return array_sum($a);}$arr = [1,2,3,6];print_r(lj3(...$arr));echo '<hr>';?>
本节课我们学习了PHP基础知识——函数,通过本节课的学习,复习巩固了旧知识,同时也学到了新的一些知识,在返回值中学到了返回分为显式(return)和隐式(没有return),在函数参数中学到了新知识引用参数和剩余参数,通过学习发现自己的不足,加强学习。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号