Тип даних Callback в PHP? Приклади коду?
21.03.2023
Тип даних “Callback” в PHP – це спеціальний тип, що дозволяє
передавати функції як параметри в інші функції, а також
використовувати їх як зворотний виклик (callback) під час виконання
коду.
Ось декілька прикладів використання типу даних “Callback” в PHP:
- Передача функції як параметра в іншу функцію:
php
function processArray(array $arr, callable $callback) { $result = [] foreach ($arr as $value) { $result[] = $callback($value) } return $result}$arr = [1, 2, 3, 4, 5]$doubleCallback = function($value) { return $value * 2}$result = processArray($arr, $doubleCallback)print_r($result) // виведе [2, 4, 6, 8, 10]
- Використання функції як зворотного виклику (callback) під час
виконання коду:
php
function processString(string $str, callable $callback) { $result = $callback($str) return $result}$str = "Hello, world!"$upperCallback = function($value) { return strtoupper($value)}$result = processString($str, $upperCallback)echo $result // виведе "HELLO, WORLD!"
- Вбудовані функції, які використовують тип даних “Callback”:
php
// array_map - застосовує функцію до кожного елемента масиву$arr = [1, 2, 3, 4, 5]$doubleCallback = function($value) { return $value * 2}$result = array_map($doubleCallback, $arr)print_r($result) // виведе [2, 4, 6, 8, 10]// usort - сортує масив, використовуючи функцію для порівняння елементів$students = [ ["name" => "John", "age" => 25], ["name" => "Alice", "age" => 20], ["name" => "Bob", "age" => 30]]$ageCompare = function($a, $b) { return $a["age"] - $b["age"]}usort($students, $ageCompare)print_r($students) // виведе масив студентів, відсортований за віком