ホームページ  >  記事  >  バックエンド開発  >  PHP 関数 call_user_func および call_user_func_array_PHP チュートリアルの使用法の詳細な説明

PHP 関数 call_user_func および call_user_func_array_PHP チュートリアルの使用法の詳細な説明

WBOY
WBOYオリジナル
2016-07-13 10:36:57763ブラウズ

call_user_func 関数は、関数を動的に呼び出す必要がある場合に使用されます。この関数には 2 つの用途があります:
1 つ目は、孤立した関数を呼び出すことです:

コードをコピーします コードは次のとおりです。 ?php
function funa($b,$c)
{
echo $b;
echo $c;
}
call_user_func('funa', "111","222");
call_user_func('funa', " 333", "444");
//Display 111 222 333 444
//この使用法は JavaScript の call メソッドに少し似ていることに気づきましたか?>

2 つ目は、内部の関数を呼び出すことです。クラス:


コードをコピーします
コードは次のとおりです:class a {
{
_r($args);
echo $num;
}
}
call_user_func(array("a", "b"),"111","222");
?>

上記の例は、自分で実行して結果を確認してください。 ~へへ~ ちなみに、func_get_args()関数は関数に渡されたパラメータを取得し、func_num_args()関数は関数に渡されたパラメータの数を取得します。

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
エコー $ BC
;
}
call_user_func_array(array('ClassA','bc'), array(“111″, “222″));
//Display 333

?>


関数を動的に呼び出す別の例を見てみましょう。


コードをコピーします

コードは次のとおりです:


function otest1 ($a)
{ echo( 'aparameter' );}function otest2 ( $a, $ b)
{
echo( '2 つのパラメータ' );
}

function otest3 ( $a ,$b,$c)
{
echo( '3 つのパラメータ' );
}

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






http://www.bkjia.com/PHPjc/736829.html
www.bkjia.com
本当

http://www.bkjia.com/PHPjc/736829.html

call_user_func 関数は、関数を動的に呼び出す必要がある場合に使用されます。この関数には 2 つの用途があります: 1 つ目は、孤立した関数を呼び出すことです: 次のようにコードをコピーします: ?php function fu...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。