PHP 5.3 ではクロージャのサポートが追加されました。配列全体ではなく、特定の配列要素を閉じることができるかどうか疑問に思っていました。
たとえば、次のようにできます。
$a = array('a', 'e', 'i', 'o', 'u');
$f = function($b) use($a){
echo $a[2].$b;
};
$f('!'); // echos "i!"
しかし、周りだけを閉じる方法はあり$a[2]
ますか? このようなものかもしれません:
$f = function($b) use($a[2] as $c){
echo $c.$b;
};
これは機能しません。
解析エラー: 構文エラー、予期しない '['、',' または ')' が必要です
明らかに、私はこれを行うことができます:
$c = $a[2];
$f = function($b) use($c){
echo $c.$b;
};
しかし、それよりも良い方法があるはずだと思いました。では、配列内の特定の変数を閉じる方法はありますか?