[PHP-users 14211] 引数の数を調べる

Koji Yamamoto php-users@php.gr.jp
2003年 3月 24日 (月) 08:07:24 JST


山本です。


こんなことが可能なのかどうか,マニュアルと過去ログ一通り
目を通したのですが,見つけることが出来なかったので質問します。

引数の数を調べようと思うのですが,渡された数ではなく,
関数自体の引数を取得したいのです。
例えば

=============================================================
function foo($arg1,$arg2,$arg3="hoge",$arg4="moge"){
    (省略)
}

foo($var1,$var2);

=============================================================

といったような,初期値を持つ引数がある関数の場合で,
関数内で func_num_args() などを使えば,
関数として渡された数,この場合ですと [2] になりますが,
そうではなく,関数自体の引数の数である [4] が欲しいのです。

この[4]という数字を,「関数内で」取得することは出来ますでしょうか。
「$args = 4」などと直値で記述するのには少し抵抗がありまして。。。


ほとんどの方がそうだと思うのですが,
「こんなこと出来るだろうな〜」という感じでマニュアルを見て,
「あ,やっぱり,できるできる。」と関数などを引っ張ってきてるの
ですが,まさかこれが出来ないとは思えなかったのですが・・・。

マニュアル・過去ログの見落としであることを祈りながら・・・
宜しくご教授願います。







PHP-users メーリングリストの案内