当前位置:首页 > PHP

php 函数 实现

2026-02-14 13:41:42PHP

在 PHP 中,函数用于封装可重复使用的代码块,提高代码的模块化和可维护性。以下是实现 PHP 函数的几种常见方式:

基本函数定义

使用 function 关键字定义函数,后跟函数名和参数列表。函数体用花括号 {} 包裹。

function greet($name) {
    return "Hello, " . $name;
}
echo greet("World"); // 输出: Hello, World

带默认参数的函数

可以为参数指定默认值,调用时若不传递该参数则使用默认值。

function greet($name = "Guest") {
    return "Hello, " . $name;
}
echo greet(); // 输出: Hello, Guest

可变参数函数

使用 ... 语法实现可变参数,参数以数组形式传递。

php 函数 实现

function sum(...$numbers) {
    $total = 0;
    foreach ($numbers as $num) {
        $total += $num;
    }
    return $total;
}
echo sum(1, 2, 3); // 输出: 6

匿名函数(闭包)

匿名函数没有名称,通常赋值给变量或作为回调使用。

$greet = function($name) {
    return "Hello, " . $name;
};
echo $greet("PHP"); // 输出: Hello, PHP

箭头函数(PHP 7.4+)

箭头函数是匿名函数的简写形式,自动捕获父作用域变量。

php 函数 实现

$factor = 2;
$multiplier = fn($x) => $x * $factor;
echo $multiplier(5); // 输出: 10

递归函数

函数调用自身,适用于分治或迭代问题。

function factorial($n) {
    return ($n <= 1) ? 1 : $n * factorial($n - 1);
}
echo factorial(5); // 输出: 120

类型声明(PHP 7+)

为参数和返回值添加类型声明,增强代码健壮性。

function add(int $a, int $b): int {
    return $a + $b;
}
echo add(2, 3); // 输出: 5

生成器函数(yield)

使用 yield 实现惰性计算,节省内存。

function generateNumbers($max) {
    for ($i = 1; $i <= $max; $i++) {
        yield $i;
    }
}
foreach (generateNumbers(5) as $number) {
    echo $number; // 输出: 12345
}

标签: 函数php
分享给朋友:

相关文章

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

jquery 函数

jquery 函数

jQuery 函数基础 jQuery 是一个快速、简洁的 JavaScript 库,通过封装原生 JavaScript 功能简化 DOM 操作、事件处理、动画等。核心函数 $() 或 jQuery()…

php实现接口

php实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不实现具体功能。类可以实现一个或多个接口,并必须实现接口中定义的所有方法。 定义接口 接口使用 inter…

php 实现下载

php 实现下载

PHP 实现文件下载的方法 使用 PHP 实现文件下载可以通过设置 HTTP 头信息,强制浏览器将文件作为附件下载而非直接打开。 基本下载实现 $file_path = 'path/to/your/…

php实现下载

php实现下载

PHP实现文件下载 使用PHP实现文件下载可以通过设置HTTP头部信息强制浏览器下载文件而非直接打开。以下是几种常见的方法: 方法一:直接输出文件内容 $file_path = 'path/to/…

php mvc实现

php mvc实现

PHP MVC 实现步骤 模型(Model)层 模型负责数据处理和业务逻辑,通常与数据库交互。创建一个基类模型,其他具体模型继承它。 class Model { protected $db;…