Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


PHP Продвинутый


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP Функции обратного вызова



Функции обратного вызова в PHP

Функция обратного вызова — это функция, которая передается в качестве аргумента в другую функцию.

Функция обратного вызова может быть:

  • Именованная функция — передается имя функции в виде строки
  • Анонимная функция — определяется непосредственно в месте вызова и передается как аргумент

Использование именованной функции в качестве обратного вызова

Любая существующая функция может быть использована в качестве функции обратного вызова. Чтобы использовать именованную функцию в качестве обратного вызова, передайте строку, содержащую имя функции, в качестве аргумента другой функции:

Пример

Передаем функцию обратного вызова в функцию PHP array_map(), чтобы умножить каждое число само на себя для каждого числа в массиве:

<?php
// Определяем именованную функцию обратного вызова
function myfunction($n) {
  return($n * $n);
}

// Массив чисел для умножения
$numbers = [1, 2, 3, 4, 5];

// Используем array_map с функцией myfunction в качестве обратного вызова
print_r(array_map("myfunction", $numbers));
?>
Попробуйте сами »


Использование анонимной функции в качестве обратного вызова

Анонимная функция определяется непосредственно в месте вызова и чаще всего используется, когда требуется одноразовая функция.

Здесь мы передаем анонимную функцию в качестве функции обратного вызова:

Пример

Используем анонимную функцию в качестве обратного вызова для функции PHP array_map():

<?php
$numbers = [1, 2, 3, 4, 5];
$res = array_map(function($n) {return($n * $n);}, $numbers);
print_r($res);
?>
Попробуйте сами »

Функции обратного вызова в пользовательских функциях PHP

Пользовательские функции и методы также могут принимать функции обратного вызова в качестве аргументов. Чтобы использовать функцию обратного вызова внутри пользовательской функции или метода, вызовите ее, добавив круглые скобки к переменной, и передайте аргументы, как с обычными функциями:

Пример

Выполнение обратного вызова из пользовательской функции:

<?php
function exclaim($str) {
  return $str . "! ";
}

function ask($str) {
  return $str . "? ";
}

function printFormatted($str, $format) {
  echo $format($str);
}

// Передаем "exclaim" и "ask" в качестве функций обратного вызова в printFormatted()
printFormatted("Привет мир", "exclaim");
printFormatted("Привет мир", "ask");
?>
Попробуйте сами »


×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.