1、函数语法
function 函数名(类型: 参数列表) {
被执行的代码;
}
代码实例
<?php
function sum($a,$b){
$a+$b;
}
?>
3、函数的类型
序号 |
类型 |
语法 |
描述 |
1 |
自定义函数 |
function getName(){...} |
用户根据业务需求创建 |
2 |
系统函数 |
substr(), count()... |
也叫预定义函数,不必声明直接调用 |
3 |
可变函数 |
$funcName(); |
函数名使用变量表示 |
4 |
匿名函数 |
$f = function (){...} |
也叫”闭包”或”函数表达式”,常用做回调处理 |
代码实例
<?php
// 1. 自定义函数
function sum($a,$b){//自定义函数名为sum
return $a+$b;//返回$a+$b
}
echo sum(2,5);//调用函数sum
echo"<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);
?>
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);
?>
4、函数参数
- 调用者可以通过参数将数据传递到函数中
- 参数是以逗号分隔的表达式列表
- 参数按照从左到右的顺序求值
参数类型
序号 |
类型 |
描述 |
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),在函数参数中学到了新知识引用参数和剩余参数,通过学习发现自己的不足,加强学习。