無名関数
パーフェクトPHPから引用
p.114-115
名前のない関数。
関数の戻り値を変数に代入したりできる。
<?php $add = function($val1, $val2) { return $val1 + $val2; }
コールバックとして指定したりできる。
<?php $array = array( '"ダブルクォート"', '<tag>', '\'シングルクォート\'', ); $escaped = array_map(function($value){ return htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); }, $array); // 出力結果 // array(3){ // [0]=> // string(33) ""ダブルクォート"" // [1]=> // string(11) "<tag>" // [2]=> // string(36) "'シングルクォート'" // }
このように、無名関数をつかうと、コールバック関数として指定するべき関数を
いちいち名前付きでしかもグローバルに定義する必要がありません。