PHPの無名関数は、外部変数にアクセスするために明示的にuseが必要
外部変数にアクセスできない
code:php
$filtered = array_filter($arr, function ($k) {
return !in_array($k, $hoges); // error
});
useで、明示的に変数を指定しないといけない
code:php
$filtered = array_filter($arr, function ($k) use ($hoges) {
return !in_array($k, $hoges);
});
当然、内部で使用する変数が増えるたびに変更が必要になり面倒