当前位置:首页 > PHP教程 > php函数 > 列表

php通过字符串调用函数示例

发布:smiling 来源: PHP粉丝网  添加日期:2020-10-06 11:28:40 浏览: 评论:0 

这篇文章主要介绍了php通过字符串调用函数,需要的朋友可以参考下

1. call_user_func

代码如下:

  1. function a($b,$c){ 
  2.   echo $b; 
  3.   echo $c; 
  4. } 
  5. call_user_func('a', "111","222"); 
  6. call_user_func('a', "333","444"); 
  7. //显示 111 222 333 444 
  8. ?> 

调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:

  1. class a { 
  2.   function b($c){ 
  3.     echo $c; 
  4.   } 
  5. } 
  6. call_user_func(array("a", "b"),"111"); 
  7. //显示 111 

2. call_user_func_array

call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:

  1. function a($b, $c){ 
  2.   echo $b; 
  3.   echo $c; 
  4. } 
  5. call_user_func_array('a', array("111", "222")); 
  6. //显示 111 222 

call_user_func_array函数也可以调用类内部的方法的,代码如下:

  1. Class ClassA{ 
  2.   function bc($b, $c) { 
  3.       $bc = $b + $c; 
  4.     echo $bc; 
  5.   } 
  6. } 
  7. call_user_func_array(array('ClassA','bc'), array("111", "222")); 
  8. //显示 333 

call_user_func函数和call_user_func_array函数都支持引用,这让他们和普通的函数调用更趋于功能一致:代码如下:

  1. function a(&$b){ 
  2.   $b++; 
  3. } 
  4. $c = 0; 
  5. call_user_func('a', &$c); 
  6. echo $c;//显示 1 
  7. call_user_func_array('a', array(&$c)); 
  8. echo $c;//显示 2 

Tags: php字符串调用函数

分享到: