Về cơ bản tôi muốn làm một cái gì đó như thế này:Callback chức năng sử dụng các biến tính bên ngoài của nó
$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);
Đây có phải là thực sự có thể? Tính toán một biến ngoài hàm ẩn danh và sử dụng nó bên trong?
Cảm ơn rất nhiều mfonda, tôi đã xem xét trang hướng dẫn sử dụng nhưng bỏ qua từ khóa đó trong ví dụ mã. –
bạn đã lưu ngày của tôi! đơn giản và hữu ích <3 – RezaSh
Chỉ cần thêm vào câu trả lời ở trên, biến phạm vi gốc đang được COPIED thay vì được tạo sẵn bên trong hàm gọi lại. Nếu thông số gốc cần được điều chỉnh, tham chiếu phải được gửi như vậy '$ listOfValLessThanAvg = []; $ callback = function ($ val) sử dụng ($ avg, & $ listOfValLessThanAvg) { nếu ($ val <$ avg) array_push ($ listOfValLessThanAvg, $ val); }; ' – pravin