相关疑难解决方法(0)

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

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

它没有帮助我通过引用接收一个值数组的函数,也没有一个函数将其参数包含在一个对象中,因为我正在处理函数组合和参数绑定.不要考虑呼叫时间传递参考.那东西甚至不应该存在.

php parameter-passing pass-by-reference variadic-functions function-parameter

24
推荐指数
2
解决办法
4625
查看次数

什么是 Python 的 *Args 和 **kwargs 在 PHP 中的等价物?

除了用值声明可选变量之外,谷歌勋爵没有给我任何东西,这样它们就可以被传递到代码中而不会给你一个错误。在 PHP 中甚至有等价于 *Args 或 **kwargs 吗?

干杯

php python language-comparisons variadic-functions

5
推荐指数
1
解决办法
4031
查看次数

如何包装无限数量的参数的函数

我想包装一个带有无限数量参数的现有函数,例如这是现有的函数:

function T()
{
    $args = func_num_args();
    // Do stuff with arguments.
}
Run Code Online (Sandbox Code Playgroud)

我现在想把它包起来,例如

/*
 * This function shall also take unlimited arguments,
 * and just pass them on to T().
 */
function myT()
{
    // TODO: Take all arguments and pass them on to T().
    $result = T();

    // Do stuff with the result of T().
}
Run Code Online (Sandbox Code Playgroud)

但是,我想不出如何通过无限的参数上T()myT().

php argument-passing

4
推荐指数
1
解决办法
164
查看次数

糟糕的PHP代码.请帮助改进

显然,这是非常糟糕的代码,但我无法思考如何改进它."测试"功能根本无法改变,但其他所有功能都可以.

我想将一个值数组传递给一个操作测试函数的函数.关键是我需要在测试函数中使用所有预定义的函数变量值,而无需重新声明它们.

我不能直接操作测试功能,它必须通过另一个功能.

这只是一个更大问题的演示,但解决这个问题肯定会解决我的问题.如果无法完成,我需要完全重新思考很多事情.

function test($p1, $p2="hello", $p3=5, $p4=true) {

}
Run Code Online (Sandbox Code Playgroud)

-

function action($vars = array()) {

    $count = count($vars);

    switch($count) {

        case 1:
            $result = test($vars[0]);
            break;
        case 2:
            $result = test($vars[0], $vars[1]);
            break;
        case 3:
            $result = test($vars[0], $vars[1], $vars[2]);
            break;
        case 4:
            $result = test($vars[0], $vars[1], $vars[2], $vars[3]);
            break;

    }

    return $result;

}
Run Code Online (Sandbox Code Playgroud)

-

action(array(1, "test"));
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
164
查看次数