0

これまでにこれが可能であると聞いたことがないというユニークな問題があります。

したがって、基本的には、次のような引数の配列を受け取る関数があります。

function someFunction(array $arguments){}

配列をそのまま返します:

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

次に、その配列を取得してループ処理し、次のような連想配列を作成する必要があります。

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

これがキッカーです。ユーザーが関数に渡す引数の数はわかりませんが、上記のように、それぞれをキー=>値の配置に作成する必要があります。

今、私はいくつかの調査を行い、 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

UPDATE : array_flipfor ループが必要なだけです。

$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 に答える