当前位置:首页 > 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

可变数量参数

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

// 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);

匿名函数(闭包)

匿名函数实现方式:

$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实现文件上传

文件上传的基本实现 在PHP中实现文件上传需要使用$_FILES超全局数组处理上传的文件数据。表单必须设置enctype="multipart/form-data"属性,并采用POST方法提交。…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session…

php实现文件下载

php实现文件下载

PHP实现文件下载的方法 通过PHP实现文件下载功能,可以采用多种方式,以下是几种常见的实现方法: 使用header()函数强制下载 设置HTTP头信息,强制浏览器下载文件而非直接打开: $fi…

php实现websocket

php实现websocket

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

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…