PHPのuse

#wpscala にて、Scalaでは「1から100までの素数」がこれで得られますよー、ってのをやったんだけど

(0 to 100).filterNot(n => (2 until n).exists(n % _ == 0))

\ キャー、みじかーい /



そこでPHPでやってみようと思った。
ちょうど仕事で使うPHPのバージョンがやっと5.3になったので無名関数を使ってみたかったのです。

<?php
print_r(array_filter(range(1, 100),
                     function ($a) {
                       if ($a == 1) return true;
                       return ! array_filter(range(2, $a - 1),
                                             function($b) use ($a) {
                                               return $a % $b == 0;
                                             });
                     }));

これはひどい


まあともかくPHPクロージャを作ったり、親?のスコープで定義されてる変数を見たいときはuseというキーワードを使うらしい。

PHP: 無名関数 - Manual http://php.net/manual/ja/functions.anonymous.php

無名関数=クロージャっていう堂々としたスタンスのPHP△!