新金沙3777

php中你能够动态调用函数,找到了生龙活虎篇参照他事他说加以考查小说终于解了猜忌

二月 3rd, 2020  |  未分类

正文实例呈报了php中动态调用函数的章程。分享给我们供我们参照他事他说加以侦察。具体解析如下:

call_user_func函数和call_user_func_array函数(PHP)#

近来在波哥手中写四个php的框架。
call_user_func那么些函数查了查手册仍旧不是太掌握,就在互连网搜了搜,找到了蓬蓬勃勃篇参照他事他说加以考察小说终于解了纠缠:

前几天一时的景色下在CodeIgniter的合西班牙语档中重新见到了php中的call_user_func_array()本条函数,2018年也在discuz论坛的代码中也是有相逢过,不过及时不明白怎么回事,在网络未有找到相应的求证,所以也间接都没弄通晓这么些函数有如何用途。呵呵~~很幸运的是,明日在英特网搜寻到了这一个函数的用法(PS:纵然php手册中有至于这一个函数的牵线,可是看了介绍依然不知晓,也不知晓是自个儿的领悟能力不行照旧文书档案表达的太模糊了,不相信你和睦去探视:http://cn2.php.net/call_user_func_array)
上面来和大家享用一下那些call_user_func_arraycall_user_func函数的用法,此外附赠func_get_args()函数和func_num_args()函数,嘿嘿!!

call_user_func函数是当需求动态调用函数时,才使用的,那么些函数有三种用法:
先是种是调用孤独的函数:

<?php
function funa($b,$c) 
{
echo $b;
echo $c;
}
call_user_func('funa', "111","222");
call_user_func('funa', "333","444");
//显示 111 222 333 444
//大家有没有发现,这个用法有点像javascript中的call方法,嘿嘿

其次种是调用类内部的函数:

<?php
class a{
    function b()
    {
//func_get_args — 返回一个包含函数参数列表的数组
//func_num_args - 获取传入函数中的参数的个数。
    $args = func_get_args();
        $num = func_num_args();
        echo "<pre>";
        var_dump($args);
        var_dump($num); 
    }
}
call_user_func(array(new a(), "b"),"111","222","OSONG");

留意一下:array(卡塔尔里的首先个参数是实例化的二个

上边这一个事例,自个儿运转一向下探底望结果是什么吧嘿嘿提示一下func_get_args()函数是赢得传入到函数中的参数,重返二个数组,func_num_args()函数获取传入函数中的参数的个数。

下边再来看看
call_user_func_array函数
以此函数也是当供给动态调用函数时用到的,它的用法和call_user_func函数相比较像,只是参数字传送入的是数组。

<?php
function a($b, $c) 
{
echo $b;
echo $c;

}
call_user_func_array('a', array("111", "222"));
//显示 111 222

call_user_func_array函数也足以调用类内部的议程的

<?php
class ClassA
{

function bc($b, $c) {
     $bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));
//显示 333

上面再看一个动态调用函数的例子:是从网络找来的:

function otest1 ($a)
{
     echo( '一个参数' );
}

function otest2 ( $a, $b)
{
    echo( '二个参数' );
}

function otest3 ( $a ,$b,$c)
{
    echo( '三个啦' );
}

function otest (){
    $args = func_get_args();
    $num = func_num_args();
    call_user_func_array( 'otest'.$num, $args  );
}
otest("11");
otest("11","22");
otest("11","22","33");

呵呵~上边这一个事例,照旧你们自身运营一下,那样影像尤为深厚

php中你能够动态调用函数,分为以下步骤:

  1. 概念叁个函数 2. 将函数名赋值给二个变量 3.
    运用变量名代替函数名动态调用函数

瞩望本文所述对大家的php程序设计有着协理。

相关文章

Your Comments

近期评论

    分类目录

    • 没有分类目录

    功能


    网站地图xml地图