- PHP 菜鸟教程
- PHP - 教程
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 功能
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - echo 语句和 print 语句
- PHP - var_dump() 函数
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP – 数据类型
- PHP - 类型转换
- PHP - 类型戏法
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件和I/O
- PHP – 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符类型
- PHP - 算术运算符示例
- PHP - 比较运算符示例
- PHP - 逻辑运算符示例
- PHP - 赋值运算符示例
- PHP – 字符串运算符
- PHP – 数组运算符
- PHP – 条件运算符示例
- PHP - Spread 运算符
- PHP - Null 合并运算符
- PHP - Spaceship 运算符
- PHP 控制语句
- PHP – 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP – 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 数组
- PHP - 数组
- PHP - 索引数组
- PHP - 关联数组
- PHP - 多维数组
- PHP - 数组函数
- PHP - 常量数组
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值调用
- PHP - 按引用调用
- PHP - 默认参数
- PHP - 命名参数
- PHP - 变量参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量范围
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头( Arrow )函数
- PHP - 变量处理函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS 变量
- PHP - $_SERVER 变量
- PHP - $_REQUEST 变量
- PHP - $_POST 变量
- PHP - $_GET 变量
- PHP - $_FILES 变量
- PHP - $_ENV 变量
- PHP - $_COOKIE 变量
- PHP - $_SESSION 变量
- PHP 文件处理
- PHP - 文件处理
PHP - 变量参数
在 PHP 中,可以编写一个能够接受具有可变元素数量的参数列表的函数。要声明变量参数列表,参数名称前面加上 “...”(三个点)符号。传递的值将收集到具有参数名称的数组中。
function myfunction(...$arg) {
Statement1;
Statement2;
}
要调用此类函数,请在括号中放入任意数量的逗号分隔值。
myfunction(v1, v2, v3, . . . , vn);
函数中声明的形参是传递的所有值的数组。我们使用任何适当的 built_in 数组函数来执行该过程。
例
在下面的示例中,用户定义的函数 myfunction() 能够接收可变数量的值并找到它们的平均值。
<?php
function myfunction(...$numbers) {
$avg = array_sum($numbers)/count($numbers);
return $avg;
}
$avg = myfunction(5, 12, 9, 23, 8);
echo "average = $avg";
?>
它将产生以下输出 -
average = 11.4
尝试更改传递的数组的大小,然后再次运行该程序。
您可以使用 foreach 循环遍历函数内的数组。该函数可以在可变长度参数之前具有任何位置参数。从接收到的值中,将首先填充位置参数,将其他参数复制到数组中。
例
<?php
function myfunction($x, ...$numbers) {
echo "First number: $x" . PHP_EOL;
echo "Remaining numbers: ";
foreach ($numbers as $n) {
echo "$n ";
}
}
myfunction(5, 12, 9, 23, 8, 41);
?>
它将产生以下输出 -
First number: 5
Remaining numbers: 12 9 23 8 41
Remaining numbers: 12 9 23 8 41
可变参数函数
可以处理函数的可变数量的参数,即使没有 “...”语法。PHP 有 built_in 函数,如 func_num_args()、func_get_arg() 和 func_get_args(),它们可以用于类似的结果。
- func_num_args(): 返回传递给函数的参数数。
- func_get_arg(): 从参数列表中返回一个项目
- func_get_args(): 返回一个包含函数的参数列表的数组
上面的变量参数示例可以使用这些函数重写,如下所示 -
<?php
function myfunction() {
$sum = 0;
foreach (func_get_args() as $n) {
$sum += $n;
}
return $sum;
}
echo myfunction(5, 12, 9, 23, 8, 41);
?>
它将产生以下输出 -
98
例
此程序打印传递给函数的所有数字 -
<?php
function myfunction() {
$len = func_num_args();
echo "Numbers : ";
$i=0;
for ($i=0; $i<$len; $i++)
echo func_get_arg($i) . " ";
}
myfunction(5, 12, 9, 23, 8, 41);
?>
它将产生以下输出 -
Numbers : 5 12 9 23 8 41