Rückruffunktionen
Eine Callback-Funktion (oft nur als "Callback" bezeichnet) ist eine Funktion, die als an . übergeben wird
Argument in eine andere Funktion.
Als Callback-Funktion kann jede vorhandene Funktion verwendet werden. So verwenden Sie eine Funktion als Rückruf
Funktion, übergeben Sie einen String, der den Namen der Funktion als Argument einer anderen enthält
Funktion:
Beispiel
Übergeben Sie einen Callback an die Funktion array_map() von PHP, um die Länge von . zu berechnen
jeder String in einem Array:
<?phpfunction my_callback($item) { return strlen($item);}
$strings = ["Apfel", "Orange",
"Banane", "Kokosnuss"];$längen =
array_map("my_callback", $strings);print_r($lengths);?>
Ab Version 7 kann PHP anonyme Funktionen als Callback-Funktionen übergeben:
Beispiel
Verwenden Sie eine anonyme Funktion als Callback für die array_map()-Funktion von PHP:
<?php$strings = ["Apfel", "Orange", "Banane", "Kokosnuss"];$lengths =
array_map( function($item) { return strlen($item); } , $strings);
print_r($längen);?>
Rückrufe in benutzerdefinierten Funktionen
Benutzerdefinierte Funktionen und Methoden können auch Callback-Funktionen als
Argumente. Um Callback-Funktionen innerhalb einer benutzerdefinierten Funktion oder Methode zu verwenden,
rufen Sie es auf, indem Sie der Variablen Klammern hinzufügen und Argumente wie bei normal übergeben pass
Funktionen:
Beispiel
Führen Sie einen Rückruf von einer benutzerdefinierten Funktion aus:
<?phpfunction exclaim($str) { return $str . "! ";}
Funktion ask($str) { return $str . "? ";}Funktion
printFormatted($str, $format) { // Aufruf des $format-Callbacks
function echo $format($str);}// "exclaim" und "ask" als Rückruf übergeben call
Funktionen zu printFormatted()printFormatted("Hallo Welt", "ausrufen");
printFormatted("Hallo Welt", "fragen");?>