2 つの引数を取る関数があります。
function index($LoadFunction, $footer) {
// My statements
}
この関数に送信された引数の総数を次のように取得できますindex(1,2,3,4)
$numargs = func_num_args();
echo "Number of arguments: $numargs\n";
私が欲しいのは、このindex()
関数に送信できる引数の数を知ることです。
どうすればこれができるようになりますか。
EDIT1:
これらも試しましたが、これは何もエコーしません
https://stackoverflow.com/a/346789/1182021
https://stackoverflow.com/a/346943/1182021
EDIT2:
わかりました、より適切な方法で説明します:
クラス foo { 関数バー (arg1, arg2){ ..... } }
私はこのようにクラスを呼び出しますfoo
:
$class = 新しい foo(); // クラスのインスタンス化 $class->bar(1,2); // このコードは問題ありません
今、私がやりたいことは次のとおりです。
$method = new ReflectionClass('foo', 'bar'); $num = $method->getNumberOfParameters(); // 理想的には、これにより、この 'bar' が使用する引数の総数が得られるはずです // 関数は取ることができますが、何もエコーしません。
どうすればこれを取得できるので、機能を確認したくありません。I want to check it before executing the function.
このことをどのように使用できますか:
ReflectionFunctionAbstract::getNumberOfParameters — パラメータの数を取得する ReflectionFunctionAbstract::getNumberOfRequiredParameters — 必要なパラメータの数を取得する