Cet article partage principalement avec vous la méthode de transfert de type de fonction de rappel en PHP. Ici, nous utilisons la fonction array_map() pour la tester. J'espère que cela pourra aider tout le monde.
Méthode 1, fonction globale
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 */
Méthode 2, fonction publique de classe
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);
Méthode 3, fonction privée de classe
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();
Méthode 4. Méthode statique publique de classe
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);
Méthode 5. Méthode statique privée de classe
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();
Méthode 6. Fonction anonyme
$foo = function($val){ return intval($val)+1; }; $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 $res = array_map($foo, $arr);
Recommandations associées :
Explication détaillée de l'utilisation des fonctions de rappel PHP et des fonctions anonymes
Maîtriser entièrement les fonctions de rappel js
Le analyse des fonctions de rappel PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!