PHP之call user func()函数
2016-08-24 17:02
281 查看
在实际开发中通常会遇到这样的问题,决定调用某个函数是通过传入的参数决定的,例如:
接着我们需要访问一个叫$functionName的方法,PHP有一个内置函数call_user_func,该函数允许用户调用直接写的函数并传入一定的参数:
1、最普通的调用:
2、调用类内部的方法
3、call_user_func_array函数类似于call_user_func,前者将传递的参数放到了一个数组中
4、call_user_func_array函数也可以这么玩
call_user_func调用自定义函数
调用第一个参数提供的自定义函数,后面的参数为自定义函数的参数,返回自定义函数的结果
call_user_func_array调用自定义函数
两个函数都支持引用:
$functionName=$_post['functionName'];
接着我们需要访问一个叫$functionName的方法,PHP有一个内置函数call_user_func,该函数允许用户调用直接写的函数并传入一定的参数:
1、最普通的调用:
<?php function order($a,$b) { echo $a; echo $b; } call_user_func('order', "",""); ?>
2、调用类内部的方法
<?php class utils { function class1($a) { echo $a; } } call_user_func(array("utils", "class1"),""); ?>
3、call_user_func_array函数类似于call_user_func,前者将传递的参数放到了一个数组中
<?php function class1($a, $b) { echo $a; echo $b; } call_user_func_array('class1', array("", "")); ?>
4、call_user_func_array函数也可以这么玩
<?php Class Class1 { function person($b, $c) { echo $b; echo $c; } } call_user_func_array(array('Class1','person'), array("", "")); ?>
call_user_func调用自定义函数
调用第一个参数提供的自定义函数,后面的参数为自定义函数的参数,返回自定义函数的结果
function say($word) { echo $word; } call_user_func('say', 'hello world'); //当然也可以调用类中的方法: class A { function say($word = '') { echo $word; } } $a = new A(); //注意,必须是要实例化的,除非是static call_user_func(array($a, 'say'), 'hello world'); //hello world
call_user_func_array调用自定义函数
function a($word) { echo $word; } class A { function say($word = '') { echo $word; } } call_user_func_array('a', array('hello world')); $a = new A(); //注意,必须是要实例化的,除非是static call_user_func_array(array($a, 'say'), array('hello world')); //只是传入参数有点区别
两个函数都支持引用:
<?php function a($b) { $b++; } $c = ; call_user_func('a', $c); echo $c; call_user_func_array('a', array($c)); echo $c; //call_user_func函数和call_user_func_array函数都支持引用。 function increment(&$var) { $var++; } $a = ; call_user_func('increment', $a); echo $a; call_user_func_array('increment', array(&$a)); echo $a; ?>
相关文章推荐
- php 函数call_user_func解析
- PHP 函数 array_map() 和 call_user_func_array() 的妙用
- PHP魔法函数:__call()
- PHP 函数之 call_user_func & call_user_func_array
- 浅析PHP中call user func()函数及如何使用call user func调用自定义函数
- php自定义函数call_user_func和call_user_func_array详解
- php中的__call()函数重载
- PHP 函数之 call_user_func & call_user_func_array
- php自定义函数call_user_func和call_user_func_array详解
- php自定义函数call_user_func和call_user_func_array详解
- php的冷门函数之——call_user_func_array,func_get_args,func_num_args
- php自定义函数call_user_func和call_user_func_array详解
- 通过函数名 和 数组调用 php 函数 call_user_func_array
- php函数call_user_func和call_user_func_array详解
- PHP 函数call_user_func和call_user_func_array用法详解
- PHP调用mysql_connect()函数报错:Call to undefined function mysql_connect()解决办法
- php call_user_func与call_user_func_array的函数详解
- PHP 函数 array_map() 和 call_user_func_array() 的妙用
- php call_user_func()函数
- curl 函数执行了之后返回false解决,打印错误信息返回PHP的Curl出现:curl call error(77): Problem with the SSL CA cert (path? ac