首页 > 语言 > PHP > 正文

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

2024-09-04 11:49:59
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了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 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表