相关疑难解决方法(0)

在PHP中将数组作为参数传递,而不是数组

我似乎记得在PHP中有一种方法可以将数组作为函数的参数列表传递,将数组解引用为标准func($arg1, $arg2)方式.但是现在我迷失了怎么做.我记得通过引用传递的方式,如何"传递"传入的参数...但不是如何将数组取消列表到参数列表.

它可能很简单func(&$myArgs),但我很确定不是这样.但是,遗憾的是,到目前为止,php.net手册尚未透露任何内容.并非我在过去一年左右不得不使用这一特定功能.

php arrays methods function

142
推荐指数
4
解决办法
9万
查看次数

将数组转换为独立的函数参数 - howto?

我想在函数调用中使用数组中的值作为独立参数.例:

// Values "a" and "b"
$arr = array("alpha", "beta");
// ... are to be inserted as $a and $b.
my_func($a, $b)
function my_func($a,$b=NULL) { echo "{$a} - {$b}"; }
Run Code Online (Sandbox Code Playgroud)

数组中的值的数量是未知的.

可能的解决方案:

  1. 我可以将数组作为单个参数传递 - 但更喜欢传递多个独立的函数参数.

  2. implode()将数组转换为逗号分隔的字符串.(失败,因为它只是一个字符串.)

  3. 使用单个参数:

    $str = "'a','b'";
    function goat($str);  // $str needs to be parsed as two independent values/variables.
    
    Run Code Online (Sandbox Code Playgroud)
  4. 用eval()吗?

  5. 遍历阵列?

建议表示赞赏.谢谢.

php arrays function

13
推荐指数
2
解决办法
6529
查看次数

将数组作为单独的参数传递给函数

C# 中有没有办法将单个数组作为单独的参数(参数)传递给函数?

给出以下超级简化的示例:

Func<int, int, int> sum = (int a, int b) => { return a + b; };
// sum(1, 2); This would work and return 3
sum([1,2]); // This is how I would like to call it
Run Code Online (Sandbox Code Playgroud)

有没有办法让最后一行工作?

注意:我知道您可以让委托将单个参数int[]作为参数,但在我的实际用例中,修改委托是不可能的。

注 2:在实际用例中,参数的类型不同。int它可以是、string、object等的混合。

如果有帮助的话,在 PHP 中这可以通过call_user_func_array(). 例子

更新:真正的用例是我想要一个接收委托和所有必需参数的函数。因此,不必写出所有不同的情况,如下所示:

public void OneParam<T1, TOut>(Func<T1, TOut> func, T1 p1)
{
    // Do some fancy stuff before calling
    func.Invoke(p1);
}

public void …
Run Code Online (Sandbox Code Playgroud)

c#

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

标签 统计

arrays ×2

function ×2

php ×2

c# ×1

methods ×1