Hi!
Hast Du die Erklärung auf php.net, net(t) gefunden, oder net verstanden?
Nicht verstanden.
Was konkret ist dir unklar?
Eine Callback-Funktion ist erst einmal eine ganz normale Funktion, wie jede andere auch. Das Besondere ist, dass sie nicht direkt aufgerufen wird, sondern dass nur ein Verweis an sie übergeben wird, damit die eigentlich aufgerufenen Funktion sie aufrufen kann. Beispiel array_walk():
$array = array(...);
array_walk($array, "trim");
array_walk() durchläuft das übergebene Array und wendet auf jedes Element die Funktion trim() an. Das ist der Callback. Unter PHP ist es so, dass man den Namen der Callback-Funktion als String übergibt (im einfachsten Fall - bei OOP ist es etwas komplexer). In anderen, kompilierenden Systeme übergibt man einen Zeiger oder eine Referenz auf die Callback-Funktion.
Ausgeschrieben sähe array_walk() ungefähr (vereinfacht) so aus:
function array_walk(&$array, $callback) {
foreach ($array as $key => $value)
$array[$key] = $callback($value);
}
Im Falle von "trim" ergäbe das:
foreach ($array as $key => $value)
$array[$key] = trim($value);
Lo!