🤖 AI智能摘要

暂未配置

前言

前面章节我们写的代码都是直接执行。如果一段代码需要反复使用,每次都要全部复制粘贴,代码会变得冗长杂乱。

函数就是把一段完成特定功能的代码打包封装起来,需要的时候直接调用即可,不需要重复书写。函数是大型项目开发必不可少的技能,可以简化代码、方便后期维护。

一、什么是函数

函数就是将实现某一个功能的代码,封装到一个代码块当中。

  • 系统函数:PHP 自带,直接拿来使用,例如count()print_r()
  • 自定义函数:我们自己编写,根据业务需求自己封装

二、自定义函数基础语法

<?php
//定义函数
function 函数名(){
    //封装的代码
}

//调用函数
函数名();
?>

简单示例

<?php
//定义函数
function showHello(){
    echo "欢迎学习PHP函数<br>";
    echo "函数封装演示";
}

//调用函数
showHello();
//再次调用,直接执行里面全部代码
showHello();
?>

函数命名规则

  1. 函数名字字母数字下划线组成
  2. 不能以数字开头
  3. 函数名区分大小写吗?PHP 函数名不区分大小写,建议统一小写
  4. 函数名称要有意义,见名知意,不要使用无意义名称

三、函数参数(传入数据)

括号里面可以设置参数,调用函数的时候把数据传给函数内部使用。

单个参数

<?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之间随机数字
?>

九、本章总结

  1. 函数使用function关键字定义,需要才进行调用;
  2. 参数用于向函数传递数据,可以设置参数默认值;
  3. return用来返回结果,返回之后函数结束执行;
  4. 局部变量仅函数内部有效,global 关键字引入全局变量;
  5. 使用函数可以大量精简重复代码,方便后期维护项目。
(注:部分内容可能由 AI 生成)