php 可变数量的参数列表
2024-08-25 16:47:24
可变数量的参数列表
PHP 在用户自定义函数中支持可变数量的参数列表。在 PHP 5.6 及以上的版本中,由 ... 语法实现;在 PHP 5.5 及更早版本中,使用函数func_num_args(),func_get_arg(),和 func_get_args() 。
... in PHP 5.6+
在初学时,总是为方法的参数个数而困惑。
今天给大家总结一下,简单归类发出来,希望能帮助到大家。
案列一:
在PHP 5.6以后,参数列表可以包括…,他表示函数接受可变数量的参数。参数将作为数组传递到给定的变量中,例如:
<?php
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
} echo sum(1, 2, 3, 4);
?>
以上程序的输出结果会是什么。
案例二:
你也可以用…调用函数时,将数组或可遍历变量或文字拆装到参数列表中:列如
<?php
function add($a, $b) {
return $a + $b;
} echo add(...[1, 2])."\n"; $a = [1, 2];
echo add(...$a); $a = [1, 2,3,4];
echo add(...$a);
?>
以上程序的输出结果会是什么
案列三:
您可以在…之前指定正常位置参数。在这种情况下,只有与位置参数不匹配的尾随参数将被添加到由…生成的数组中。
还可以在…之前添加类型提示。如果存在,那么由……捕获的所有参数必须是提示类的对象。
<?php
function total_intervals($unit, DateInterval ...$intervals) {
$time = 0;
foreach ($intervals as $interval) {
$time += $interval->$unit;
}
return $time;
} $a = new DateInterval('P1D');
$b = new DateInterval('P2D');
echo total_intervals('d', $a, $b).' days'; // This will fail, since null isn't a DateInterval object.
echo total_intervals('d', null);
?>
以上程序输出的结果是
3 days
Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
最新文章
- expect基本使用方法
- 转行|如何成为企业想要的Android工程师
- hibernate(1) —— 入门
- 浏览器控制台console
- 判断App是否在后台运行
- CSS3实现背景颜色渐变
- 微信lbs---返回两个经纬度坐标点的距离
- IOS时间格式转换
- Castle ActiveRecord简单介绍
- css3动画属性中的transition属性
- 图解iPhone开发新手教程
- 为ubuntu只带的network-manager添加latp/ipsec VPN
- char*,const char*和string的相互转换
- 桌面浏览器实现滑动翻页效果(Swiper)
- [转]Android推送方案分析(MQTT/XMPP/GCM)
- [一个经典的多线程同步问题]解决方案二:Event事件
- 浅析Java源码之LinkedList
- PHP过滤指定字符串,过滤危险字符
- 2DSprite添加Light照射(Unity3D开发之十六)
- js 取整 取余