In diesem Artikel wird hauptsächlich die Methode zur Übertragung von Callback-Funktionstypen in PHP vorgestellt. Hier verwenden wir die Funktion array_map(), um sie zu testen.
Methode 1, globale Funktion
function foo($val){ return intval($val)+1; } $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 $res = array_map('foo', $arr); /** 输出如下: array (size=6) 0 => int 1 1 => int 3 2 => int 1 3 => int 6 4 => int 1 5 => int 8 */
Methode 2, öffentliche Klassenfunktion
class Demo { public function foo($val){ return intval($val)+1; } } $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 $res = array_map(array(new Demo, 'foo'), $arr);
Methode 3, private Klassenfunktion
class Demo { private function foo($val){ return intval($val)+1; } public function test(){ $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 $res = array_map(array($this, 'foo'), $arr); return $res; } } $demo = new Demo; $result = $demo->test();
Methode 4. Öffentliche statische Klassenmethode
class Demo { static public function foo($val){ return intval($val)+1; } } $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 以下两种方式都可以 $res = array_map('Demo::foo', $arr); //$res = array_map(array('Demo', 'foo'), $arr);
Methode 5. Private statische Klassenmethode
class Demo { static private function foo($val){ return intval($val)+1; } static public function test(){ $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 这里可以使用两种传递方式 $res = array_map(array('self', 'foo'), $arr); //$res = array_map('self::foo', $arr); //$res = array_map(array('Demo', 'foo'), $arr); //$res = array_map('Demo::foo', $arr); return $res; } } $result = Demo::test();
Methode 6. Anonyme Funktion
$foo = function($val){ return intval($val)+1; }; $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 $res = array_map($foo, $arr);
Verwandte Empfehlungen:
Detaillierte Erläuterung der Verwendung von PHP-Rückruffunktionen und anonymen Funktionen
JS-Rückruffunktionen vollständig beherrschen
Die Analyse von PHP-Callback-Funktionen
Das obige ist der detaillierte Inhalt vonÜbertragungsmethode für PHP-Rückruffunktionstypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!