PHPで無名関数

今まで、Javascriptではよく無名関数や即時関数を使ってましたが、PHPで使うって発想がなかったのですが、連想配列のソートを調べているとPHPでも5.2から可能になったそうな。

知らなかった〜。

無名関数を知らない人は、ググるといっぱい説明はでてくるのでここでは割愛しますが、要するに名前を付けるまでもない、事前に登録しておいてもその場でしかつかわないような関数は、無名関数としてその場限りの関数を作って実行することがあります。

例えば、PHPのusort関数は、第2引数にユーザー定義関数を指定することにより、(連想)配列を並び替えすることができますが、通常

usort($array, 'narabikae');

function narabikae($a, $b){
	return $a[0] < $b[0];
}

としなければならないところを、

usort($array,function($a, $b){
	return $a[0] < $b[0];
});

と書くだけでOKです。

結構なれると便利ですよね。