[PHP-users 14221] Re: 引数の数を調べる
KOYAMA Tetsuji
php-users@php.gr.jp
2003年 3月 24日 (月) 10:36:07 JST
小山です。
なかなか興味深く議論を読んでいました。
At Mon, 24 Mar 2003 19:00:06 +0900,
Osamu Shigematsu wrote:
> そうは、イカの金太郎飴。(古
>
> <?php
>
> $dummy = 1;
> class hoge{
> var $test;
>
> function func($arg1, $arg2, $arg3 = 1){
> echo count(get_defined_vars());
> }
>
> function x($x){
> $this->test = $x;
> }
> };
>
> $obj = new hoge;
>
> $obj->x(1);
> $obj->func(1,2);
>
> ?>
む、関数スコープにオブジェクトのプロパティは直接入ってこないはず…と
か思って、
class hoge {
function func($arg1, $arg2, $arg3 = 1) {
$vars = get_defined_vars();
echo count($vars);
print_r($vars);
}
}
$obj = new hoge;
$hoge->func(1,2);
としてみたら...、なるほど! $this かぁ。
じゃぁということで、
class hoge {
function func($arg1, $arg2, $arg3 = 1) {
$num = count(get_defined_vars());
if (isset($this))
--$num;
echo $num;
}
}
これでどうでせう?
--
小山 哲志@ビート・クラフト
koyama@beatcraft.com
koyama@hoge.org
PHP-users メーリングリストの案内