|
call_user_func函數(shù)是當需要動態(tài)調用函數(shù)時,才使用的,這個函數(shù)有兩種用法:
第一種是調用孤獨的函數(shù):
復制代碼 代碼如下:<?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
//大家有沒有發(fā)現(xiàn),這個用法有點像Javascript中的call方法,嘿嘿
?>
第二種是調用類內部的函數(shù):
復制代碼 代碼如下:<?php
class a {
function b()
{
$args = func_get_args();
$num = func_num_args();
print_r($args);
echo $num;
}
}
call_user_func(array("a", "b"),"111","222");
?>
上面這個例子,自己運行一下看看結果是什么吧~嘿嘿~提示一下func_get_args()函數(shù)是獲取傳入到函數(shù)中的參數(shù),返回一個數(shù)組,func_num_args()函數(shù)獲取傳入函數(shù)中的參數(shù)的個數(shù)。
下面再來看看call_user_func_array函數(shù)
這個函數(shù)也是當需要動態(tài)調用函數(shù)時用到的,它的用法和call_user_func函數(shù)比較像,只是參數(shù)傳入的是數(shù)組。
復制代碼 代碼如下:<?php
function a($b, $c)
{
echo $b;
echo $c;
}
call_user_func_array('a', array("111", "222"));
//顯示 111 222
?>
call_user_func_array函數(shù)也可以調用類內部的方法的
復制代碼 代碼如下:<?php
Class ClassA
{
function bc($b, $c) {
$bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array(‘ClassA','bc'), array(“111″, “222″));
//顯示 333
?>
下面再看一個動態(tài)調用函數(shù)的例子:
復制代碼 代碼如下:<?php
function otest1 ($a)
{
echo( '一個參數(shù)' );
}
function otest2 ( $a, $b)
{
echo( '二個參數(shù)' );
}
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技術:PHP 函數(shù)call_user_func和call_user_func_array用法詳解,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。