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

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


こんにちわ、桝形です。

> bar   ←1回目の出力
> 
> Fatal error: Cannot redeclare bar() (previously declared in /home/www/hoge.php:4) in /home/www/hoge.php on line 3
> 
> となって、外側の関数を2回呼ぶことで再定義エラーとなってしまいます。
> 
> これだと全然使えないのですが…
> 回避方法をご存じの方、いらっしゃいませんか?
> #関数を外に出すのはナシでw

<?php
function foo( )
{
 if(function_exists( "bar" ) != true )
   {
    function bar( )
    {
     echo('bar<br>');
    }
   }

  bar( );
}

foo( );
foo( );
?>

これで、どうでしょうか。


> 動作的には「バグ!」とまでは言いませんが…
> イマイチ役に立たないなぁ…と。
> #公式サンプルなのに。

公の場でそんな事を言うのは。。。やめましょう。

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




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