gpt4 book ai didi

PHP:通过引用的可变长度参数列表?

转载 作者:IT王子 更新时间:2023-10-28 23:45:49 26 4
gpt4 key购买 nike

是否可以创建一个 PHP 函数,该函数通过引用获取可变数量的参数?

它对通过引用接收值数组的函数或将其参数包装在对象中的函数没有帮助,因为我正在研究函数组合和参数绑定(bind)。也不要考虑调用时间传递引用。那东西根本不应该存在。

最佳答案

引入 PHP 5.6 new variadic syntax它支持按引用传递。 (感谢@outis 的更新)

function foo(&...$args) {
$args[0] = 'bar';
}

对于 PHP 5.5 或更低版本,您可以使用以下技巧:

function foo(&$param0 = null, &$param1 = null, &$param2 = null, &$param3 = null, &$param4 = null, &$param5 = null) {
$argc = func_num_args();
for ($i = 0; $i < $argc; $i++) {
$name = 'param'.$i;
$params[] = & $$name;
}
// do something
}

缺点是参数的数量受定义的参数数量的限制(示例片段中为 6 个)。但是使用 func_num_args() 您可以检测是否需要更多。

将超过 7 个参数传递给函数无论如何都是不好的做法;)

关于PHP:通过引用的可变长度参数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1925253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com