無名関数

パーフェクト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) "&quot;ダブルクォート&quot;"
//   [1]=>
//   string(11) "&lt;tag&gt;"
//   [2]=>
//   string(36) "&#039;シングルクォート&#039;"
// }

このように、無名関数をつかうと、コールバック関数として指定するべき関数を
いちいち名前付きでしかもグローバルに定義する必要がありません。