あそびです。 無名関数というか、Rubyでいうブロックのようなものを引数にとれるようにしたくて、pure PHPだけでどこまでできるか色々と試行錯誤してみました。何に使うのかはあまり考えてません。 実際にできたのは↓のような書き方の何かです。見た目は気持ち悪いですが、そこそこ時間をかけてしまったので公開しつつ色々と補足します。 require 'bloc.php'; $hoge = 10; $b = bloc();if(called){ $hoge++; return $hoge; }; $b->call(); # => 11 $b->call(); # => 12 $b->call(); # => 13 $bに代入している行がどうみても不自然な感じがしますが、if(called){から};までの間は、すぐに評価されずに後でcall()を通して呼ぶことで何度でも呼び出すことができます。 仮