Correction status:qualified
Teacher's comments:这种数组定义方式不要更使用了:array($obj, 'bc')
一、call_user_func_array()是调用回调函数,可以将把一个数组参数作为回调函数的参数。
二、call_user_func_array()应用于要调用的函数名是未知的或要调用函数的参数类型及个数是未知的情况。
三、基本结构:call_user_func_array($fun,$arr);
四、实例1
<?php function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', array("111", "222"));
点击 "运行实例" 按钮查看在线实例
五、实例2
<?php Class ClassA { function bc($b, $c) { $bc = $b + $c; echo $bc; } function d() { $bc = $b + $c; echo $bc; } } //php<5.3时,非静态的方法可直接传入类名 call_user_func_array(array('ClassA', 'bc'), array("111", "222")); //php>=5.3时,非静态的方法 只有在类被实例化后方可调用,否则会提示Strict性错误 $obj = new classA; call_user_func_array(array($obj, 'bc'), array("111", "222")); //静态方法调用如下 call_user_func_array(array('ClassA','bc'), array("111", "222")); //或 call_user_func_array('ClassA::bc', array("111", "222"));
点击 "运行实例" 按钮查看在线实例