您好,欢迎访问一九零五行业门户网

PHP之回调函数类型传递方式

本文主要和大家分享php之回调函数类型传递方式,我们这里通过array_map()函数来进行测试,希望能帮助到大家。
方式1、全局函数
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 */
方式2、类公有函数
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);
方式3、类私有函数
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();
方式4、类公有静态方法
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);
方式5、类私有静态方法
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();
方式6、匿名函数
$foo = function($val){ return intval($val)+1; }; $arr = array('a',2,'b',5,'c',7); //回调函数传递方式 $res = array_map($foo, $arr);
相关推荐:
php回调函数及匿名函数使用详解
完全掌握js回调函数
php回调函数的解析
以上就是php之回调函数类型传递方式的详细内容。
其它类似信息

推荐信息