「3.2関数の定義」からのメモ。
PHPでは関数の中に関数を定義することができます。しかしその関数はトップレベルの関数となるので、特段使い道はなさそうです。
(隠蔽ができない)
<?php function outer() { echo "call outer()\n"; function inner() { echo "call inner()\n"; } } outer(); inner(); ?>
call outer() call inner()
Rubyも同じく関数内の関数はトップレベルになります。javascriptでは関数内部に定義した関数はトップレベルではなく、隠蔽できますね。
それとPHPでは関数のオーバーロードはサポートされてないようです。ちょっと残念。