〜5のパラメータを持つ匿名関数を作成して返すことができるPHPで書かれた関数を作成したいので、それらをキー/値配列に格納して、与えられたパラメータについての知識なしに後で呼び出すことができます。一回以上。匿名関数を返す
など。
$fun();
どのように私は戻って再利用可能な呼び出しを後で達成するのですか?
ありがとうございます。
〜5のパラメータを持つ匿名関数を作成して返すことができるPHPで書かれた関数を作成したいので、それらをキー/値配列に格納して、与えられたパラメータについての知識なしに後で呼び出すことができます。一回以上。匿名関数を返す
など。
$fun();
どのように私は戻って再利用可能な呼び出しを後で達成するのですか?
ありがとうございます。
このような意味ですか?
<?php
function setData($user, $pass, $host){
return function() use ($user, $pass, $host){
return array($user, $pass, $host);
};
}
//set the data once
$container = setData('test', 'password', 'localhost');
//use the function without passing the data again (and it should be noted, you
//can't set the data again)
var_dump($container());
そして出力:あなたのユースケースの
array(3) { [0]=> string(4) "test" [1]=> string(8) "password" [2]=> string(9) "localhost" }
わからないが、私の例えば関数の出力は、フォーマットされたDNSだけでなく、単純な配列である可能性があります。
他のところで述べたように、func_get_argsは任意の数の引数でこの作業を行います。
はあなたが必要な場合は$greet
変数は他の関数によって返される可能性がhttp://php.net/manual/en/functions.anonymous.php
$greet = function($name)
{
printf("Hello %s\r\n", $name);
};
$greet('World');
$greet('PHP');
を見てみましょう。
もう1つのことは、任意の引数リストを読むためのfunc_get_args()
です。
あなたは静的関数または動的関数を意味しますか?これは助けるかもしれないhttp://php.net/manual/en/function.create-function.php –
あなたはPHP5.3閉鎖を必要とします –
はい。私のような楽しみがある $ fun = function($ p1、$ p2、$ p3 ..){ 魔法のもの; }; そして私は呼び出しを取り除きたいです $ fun( "foo"、 "bar"、 "bazz"); 私は$ short()で呼び出すことができるerlangのような関数を作成する関数を必要とします。 – reindeer