PHPの無名関数で困っています。
下記の(1)〜(3)は動くのですが・・・
(1)
lang
1$hoge = function(){ 2 echo "fuga"; 3}; 4$hoge();
(2)
lang
1class Fuga{ 2 public function hoge(){ 3 echo "Fuga"; 4 } 5}
(3)
lang
1$hoge = new stdClass; 2$hoge->fuga = function(){ 3 echo "fuga"; 4}; 5$test = $hoge->fuga; 6$test();
下記(4)(5)は動きません。
(4)
lang
1$hoge = new stdClass; 2$hoge->fuga = function(){ 3 echo "fuga"; 4}; 5$hoge->fuga();
(5)
lang
1class Fuga{ 2 public function hoge(){ 3 echo "Fuga"; 4 } 5} 6 7$hoge = new Fuga; 8$hoge->hoge = function(){ 9 echo "hoge"; 10}; 11 12 13$hoge->hoge(); // HogeではなくFugaがエコーされる
なぜこのような問題が起こるのかについて説明していると助かります。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。