zoukankan      html  css  js  c++  java
  • PHP通过字符串调用函数

    1. call_user_func

    function a($b,$c){
    		echo $b;
    		echo $c;
    }
    call_user_func('a', "111","222");
    call_user_func('a', "333","444");
     
    //显示 111 222 333 444
    ?>
     
    //调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:
    class a {
    		function b($c){
    				echo $c;
    		}
    }
    call_user_func(array("a", "b"),"111");
     
    //显示 111
    ?>

    2. call_user_func_array

    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 a(&$b){
    		$b++;
    }
    $c = 0;
    call_user_func('a', &$c);
    echo $c;//显示 1
    call_user_func_array('a', array(&$c));
    echo $c;//显示 2
  • 相关阅读:
    Ubuntu12.04配置永久静态ip地址
    linux shell 命令获取字符串/文件的MD5值
    设置VMware中Kali 共享文件夹
    tomcat的一些优化及报错
    用Toad for Oracle创建数据库表空间和用户
    linux远程Windows服务器
    linux查询及添加用户
    AJAX
    Cookie和Session
    Django-中间件
  • 原文地址:https://www.cnblogs.com/iuyes/p/3573019.html
Copyright © 2011-2022 走看看