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
?>
クラス内でメソッドを呼び出すのは奇妙です。実際には配列を使用していますが、開発者がどのように考えたかはわかりませんが、これも目新しさに満ちています。
コードをコピーします コードは次のとおりです:
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"));
//Display 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"));
//Display 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 を表示
http://www.bkjia.com/PHPjc/736827.html
www.bkjia.com本当http://www.bkjia.com/PHPjc/736827.html技術記事 1. call_user_func のコピー コードは次のとおりです。 function a($b,$c){ echo $b; echo $c; } call_user_func('a', "111","222"); "333 ","444"); // 111 222 333 444 を表示します...