0

我有一个独特的问题,我以前从未听说过可以这样做:

所以本质上我有一个函数,它接受一个参数数组,例如:

function someFunction(array $arguments){}

并给我一个这样的数组:

array('option1', 'option2', 'options3', ...);

然后我需要获取该数组并循环通过它创建一个关联数组,例如:

array('option1' => call_come_method('option1'), .... );

这就是踢球者,您永远不会知道用户向函数传递了多少参数,但每个参数都需要创建为 key=>value 排列,如上所示。

现在我做了一些研究,有人告诉我php 中的 $argv 命令,我被难住的地方是如何在这种情况下实现它。

因此,如果有人可以给我任何指示,我将不胜感激。

4

2 回答 2

2

这比你想象的要容易得多。首先用于array_flip切换数组的键和值。

$newArray = array_flip($arguments);

然后循环它并调用该方法:

foreach($newArray as $key=>&$val){
    $val = call_come_method($key);
}

,&使它成为一个引用,因此数组值被更新。

演示:http ://codepad.org/giL1KPA3

更新:你甚至不需要array_flip,你只需要一个 for 循环。

$newArray = array();
foreach($arguments as $val){
    $newArray[$val] = call_come_method($val);
}

演示:http ://codepad.org/AQ1gWrou

于 2012-11-16T15:50:30.960 回答
1

您永远不会知道用户向函数传递了多少参数

仅供参考,您可以通过func_get_args()了解它。

这样您就不需要为函数提供$arguments参数,而只需将其留空即可。

于 2012-11-16T15:54:24.887 回答