当前位置:首页 > PHP

php 函数 实现

2026-01-29 15:38:55PHP

PHP 函数实现基础

PHP 函数通过 function 关键字定义,语法如下:

function functionName($param1, $param2 = "default") {
    // 函数体
    return $result;
}
  • 函数名不区分大小写(但调用时建议保持声明时的大小写)
  • 参数可设置默认值
  • 使用 return 返回值,未显式返回时默认返回 null

参数传递方式

值传递(默认)与引用传递:

function byValue($arg) {
    $arg += 1;
}

function byReference(&$arg) {
    $arg += 1;
}

$num = 5;
byValue($num);  // $num 仍为 5
byReference($num); // $num 变为 6

可变数量参数

三种处理可变参数的方法:

php 函数 实现

// 1. func_get_args() 获取所有参数
function sum() {
    $args = func_get_args();
    return array_sum($args);
}

// 2. ...$args (PHP 5.6+)
function sum(...$numbers) {
    return array_sum($numbers);
}

// 3. 类型提示 + 可变参数
function sumAll(int ...$numbers) {
    return array_sum($numbers);
}

返回值类型声明

PHP 7.0+ 支持返回值类型声明:

function add(float $a, float $b): float {
    return $a + $b;
}

// 严格模式需在文件开头声明
declare(strict_types=1);

匿名函数(闭包)

匿名函数实现方式:

php 函数 实现

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

// 使用 use 继承外部变量
$prefix = "Mr";
$greet = function($name) use ($prefix) {
    return "Hello $prefix $name";
};

箭头函数(PHP 7.4+)

简化闭包写法:

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

生成器函数

通过 yield 实现迭代器:

function xrange($start, $end, $step = 1) {
    for ($i = $start; $i <= $end; $i += $step) {
        yield $i;
    }
}

foreach (xrange(1, 10) as $num) {
    echo "$num ";
}

函数存在性检查

检查函数是否可调用:

if (function_exists('my_function')) {
    my_function();
}

// 方法调用检查
if (is_callable([$object, 'method'])) {
    $object->method();
}

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

相关文章

php实现验证码

php实现验证码

PHP实现验证码的方法 使用GD库生成验证码 GD库是PHP中处理图像的扩展,可用于生成验证码图片。 <?php session_start(); $width = 120; $height…

php实现websocket

php实现websocket

PHP 实现 WebSocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。PHP 可以通过多种方式实现 WebSocket 功能,以下是几种常见的方法: 使用 Ratc…

php长连接实现

php长连接实现

PHP 长连接实现方法 长连接(Keep-Alive)允许客户端与服务器在一次TCP连接中发送和接收多个HTTP请求/响应,减少重复建立连接的开销。以下是PHP中实现长连接的几种方式: 配置HTTP…

php实现注册

php实现注册

注册功能实现步骤 数据库准备 创建用户表,包含字段如id、username、password、email等。示例SQL: CREATE TABLE users ( id INT AUTO_I…

php实现排序

php实现排序

PHP 数组排序方法 PHP 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $num…

php实现接口

php实现接口

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