🤖 AI智能摘要
暂未配置
前言
前面章节我们写的代码都是直接执行。如果一段代码需要反复使用,每次都要全部复制粘贴,代码会变得冗长杂乱。
函数就是把一段完成特定功能的代码打包封装起来,需要的时候直接调用即可,不需要重复书写。函数是大型项目开发必不可少的技能,可以简化代码、方便后期维护。
一、什么是函数
函数就是将实现某一个功能的代码,封装到一个代码块当中。
- 系统函数:PHP 自带,直接拿来使用,例如
count()、print_r() - 自定义函数:我们自己编写,根据业务需求自己封装
二、自定义函数基础语法
<?php
//定义函数
function 函数名(){
//封装的代码
}
//调用函数
函数名();
?>简单示例
<?php
//定义函数
function showHello(){
echo "欢迎学习PHP函数<br>";
echo "函数封装演示";
}
//调用函数
showHello();
//再次调用,直接执行里面全部代码
showHello();
?>函数命名规则
- 函数名字字母数字下划线组成
- 不能以数字开头
- 函数名区分大小写吗?PHP 函数名不区分大小写,建议统一小写
- 函数名称要有意义,见名知意,不要使用无意义名称
三、函数参数(传入数据)
括号里面可以设置参数,调用函数的时候把数据传给函数内部使用。
单个参数
<?php
//$name 形式参数
function sayName($name){
echo "我的名字是:".$name."<br>";
}
//实际参数,传入数据
sayName("小明");
sayName("张三");
sayName("小白");
?>多个参数
多个参数之间使用英文逗号隔开
<?php
function userInfo($username,$age){
echo "用户名:".$username.",年龄:".$age."<br>";
}
userInfo("admin",20);
userInfo("test",18);
?>设置参数默认值
调用函数不传数据的时候,自动使用默认数值
<?php
function getPrice($money,$tax = 0.08){
$res = $money * (1 + $tax);
echo "总价:".$res;
}
getPrice(100);
getPrice(100,0.1);
?>四、return 返回值(重点)
echo 只是直接输出内容;return 可以把计算结果返回到函数外部,交给外面的变量接收,后续可以继续处理这个数据。
注意:return 执行之后,函数直接结束,return 后面的代码不会运行。
<?php
//计算两数相加,返回结果
function add($a,$b){
$sum = $a + $b;
return $sum;
}
//接收函数返回结果
$result = add(10,20);
echo $result;
//拿到返回值之后还可以继续运算
echo $result * 2;
?>五、变量的作用域
1. 局部变量
写在函数内部的变量,只能在函数里面使用,函数外部访问不到。
<?php
function test(){
$num = 100; //局部变量
echo $num;
}
test();
//echo $num; 这里直接调用会报错,外部不能访问
?>2. 全局变量
函数外面定义的变量,函数内部默认无法直接使用。
想要在函数内部使用全局变量,使用global关键字。
<?php
$outNum = 888;
function demo(){
global $outNum;
echo $outNum;
}
demo();
?>六、实战案例 1:封装输出用户列表函数
结合前面学过的数组,封装一个输出用户列表的函数
<?php
function showUserList($userArray){
foreach($userArray as $item){
echo "用户名:".$item["name"]." | 年龄:".$item["age"]."<br>";
}
}
$userList = [
["name"=>"张三","age"=>17],
["name"=>"李四","age"=>21],
["name"=>"王五","age"=>19]
];
//直接调用函数展示列表
showUserList($userList);
?>七、实战案例 2:封装判断奇偶数函数
<?php
function checkOddEven($n){
if($n % 2 == 0){
return "偶数";
}else{
return "奇数";
}
}
echo checkOddEven(33);
echo "<br>";
echo checkOddEven(68);
?>八、PHP 常用系统函数拓展
1. 字符串相关
strlen():获取字符串长度mb_strlen():获取中文字符串长度str_replace():字符串替换
<?php
$str = "Hello PHP";
echo strlen($str);
?>2. 数字函数
rand(最小值,最大值):生成随机整数
<?php
echo rand(1,100); //输出1‑100之间随机数字
?>九、本章总结
- 函数使用
function关键字定义,需要才进行调用; - 参数用于向函数传递数据,可以设置参数默认值;
return用来返回结果,返回之后函数结束执行;- 局部变量仅函数内部有效,global 关键字引入全局变量;
- 使用函数可以大量精简重复代码,方便后期维护项目。
(注:部分内容可能由 AI 生成)