<?php /** * call_user_func函数类似于一种特别的调用函数的方法,使用方法如下: **/ function nowamagic($a, $b){ echo $a; echo $b; } call_user_func('nowamagic', "111", "222"); call_user_func('nowamagic', "333", "444"); //显示 111 222 333 444 /** * 调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也挺有新意的: * call_user_func(array("类名","方法名"),"参数") */ class a{ function b($c){ echo $c; } } call_user_func(array("a", "b"), "111"); //显示 111 /** * call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰: */ function a($b, $c){ echo $b; echo $c; } call_user_func_array('a', array("111", "222")); //显示 111 222 /** * call_user_func_array函数也可以调用类内部的方法的: */ Class ClassA{ function bc($b, $c){ $bc = $b + $c; echo $bc; } } call_user_func_array(array('ClassA', 'bc'), array("111", "222")); //显示 333 /** * call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致: */ function aa($b){ $b++; } $c = 0; call_user_func('a', $c); echo $c;//显示 1 call_user_func_array('aa', array($c)); echo $c;//显示 2 /** * 另外,call_user_func函数和call_user_func_array函数都支持引用。 */ function increment(&$var){ $var++; } $a = 0; call_user_func('increment', $a); echo $a; // 0 call_user_func_array('increment', array(&$a)); // You can use this instead echo $a; // 1 ?>
博客
前端高频面试(1)
06-21
152
04-10
450
04-08
270
02-02
982
02-01
179
博客
Uniapp上传图片
01-09
395
12-11
437
12-11
436
11-27
495
10-19
207