質問: function () { var_dump('message'); }; $example(); ```
回答: > > どのような場面でAやBが使われ、メリットデメリットはなんでしょうか? > > > Aの関数定義は、**全体で名前空間が共通**、つまり同じ名前の関数は1つしか作れず、それがプロジェクト内のどこでも有効になります(関数の中で関数を定義しても同じ)。そういう関数を狙って作るのであれば便利ですが、コールバックとして渡すちょっとしたものには向いていません。 Bではそれと正反対で、`$example`という変数の見えるところでしか使えない、逆を返せばグローバルな名前を消費しない関数となります。さらに、こちらだけの機能として、`use`をつかうことで同じスコープにある変数を関数内から使う**クロージャ**機能があります。