分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

php 可变数量的参数列表

发布时间:2023-09-06 02:04责任编辑:熊小新关键词:暂无标签

可变数量的参数列表

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 daysCatchable 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


PHP的基础知识详解

php 可变数量的参数列表

原文地址:https://www.cnblogs.com/xuxinshuai/p/9339668.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved