Básicamente me gustaría hacer algo como esto:función de devolución de llamada utilizando variables calculadas fuera de ella
$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);
¿Es esto realmente posible? Calculando una variable fuera de la función anónima y usándola adentro?
Muchas gracias, mfonda. He echado un vistazo a la página del manual pero he perdido esa palabra clave en el ejemplo del código. –
¡me salvaste el día! simple y útil <3 – RezaSh
Solo para agregar a la respuesta anterior, la variable del ámbito principal está siendo COPIADA en lugar de estar disponible dentro de la función de devolución de llamada. Si el parámetro primario necesita ser manipulado, se debe enviar una referencia como '$ listOfValLessThanAvg = []; $ callback = function ($ val) use ($ avg, & $ listOfValLessThanAvg) { if ($ val <$ avg) array_push ($ listOfValLessThanAvg, $ val); }; ' – pravin