En gros, je voudrais faire quelque chose comme ça:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$avg = array_sum($arr) / count($arr);
$callback = function($val){ return $val < $avg };
return array_filter($arr, $callback);
Est-ce réellement possible? Calculer une variable en dehors de la fonction anonyme et l'utiliser à l'intérieur?
Vous pouvez utiliser le mot clé use
pour hériter des variables de la portée parent. Dans votre exemple, vous pouvez effectuer les opérations suivantes:
$callback = function($val) use ($avg) { return $val < $avg; };
Pour plus d'informations, consultez la page de manuel sur fonctions anonymes .