はい、php 5.3 以降で可能です。ここでドキュメントを読むことができます:
http://php.net/manual/en/functions.anonymous.php
JavaScript とまったく同じようには機能しません。JavaScript はプロトタイプ言語ですが、php はそうではありません。
これは JavaScript で行うことができます。
var value = 'foo';
object.doSomething(function () {
console.log(value);
});
JavaScript 関数にはその作成者への参照があるため、これを行うことができます。phpではできません。値は範囲外になります。
それ以外は、同じように機能します。たとえば、配列やその他の構造体を動的に反復したい場合です。
function iterateOverArray($array, $function) {
foreach ($array as $key => $value) {
$function($key, $value);
}
}
この関数を使用すると、配列を反復処理して独自のアクションを指定できます。例えば:
$array = array('foo', 'bar', 'FOBAR');
iterateOverArray($array, function ($key, $value) {
echo $key . ' => ' . $value;
});
これは、複雑な構造を修正するのに非常に便利です。しかし、それは私がphpで無名関数を使用した唯一の状況です. しかし、それはおそらくPHPではまだ新しいものだからです。