[PHP-users 25772] Re: 関数内関数の正しい定義方法

Seiji Masugata s.masugata @ digicom.dnp.co.jp
2005年 6月 9日 (木) 18:32:18 JST


桝形です。

> マニュアルを読んだ人が普通にハマってしまうかもしれませんから、
> フィードバックしてもいい内容だとは思いますが。

ドキュメントの不備をココで指摘しないで!とは書いていませんが
自分の書き方が曖昧でしたかねぇ。


本題に戻して、この件については、

http://www.php.net/manual/ja/language.functions.php#AEN4977
--------------------------------------------------------------------
ユーザー定義関数

PHP3 では、関数は参照される前に定義されている必要がありました。
PHP4以降ではそのような制限はありません。

ただし以下の二つの例のように、条件付きで関数が定義されるような
場合を除きます。 

次の二つの例のように、ある条件下でのみ関数が定義される場合には、
その関数定義は関数がコールされる前に 行われていなければなりません。


PHPは関数のオーバーロードをサポートしていません。
また、宣言された関数の定義を取り消したり再定義することもできません。 
--------------------------------------------------------------------

この辺をよく読んで理解して下さい(としか言えません)。


functionの中にfunctionを定義しても、そのまま動くヨとは、ここには
何処にも書いていないと思います。

ここでは、
--------------------------------------------------------------------
ただし以下の二つの例のように、条件付きで関数が定義されるような場合を
除きます。 

次の二つの例のように、ある条件下でのみ関数が定義される場合には、
その関数定義は関数がコールされる前に 行われていなければなりません。
--------------------------------------------------------------------
に対する例だと思います(説明の目的が違います)。

--
Seiji Masugata<s.masugata @ digicom.dnp.co.jp>




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