ホームページ  >  記事  >  バックエンド開発  >  PHP徹底学習ノート2(関数組み込み関数)

PHP徹底学習ノート2(関数組み込み関数)

WBOY
WBOYオリジナル
2016-06-23 13:34:27741ブラウズ

1. call_?user_?func_?array

最初のパラメータは関数名であり、インデックス配列である必要があります
function foobar($arg, $arg2) {    echo __FUNCTION__, " got $arg and $arg2\n";}class foo {    function bar($arg, $arg2) {        echo __METHOD__, " got $arg and $arg2\n";    }}// 普通函数调用call_user_func_array("foobar", array("one", "two"));// 类成员函数调用$foo = new foo;call_user_func_array(array($foo, "bar"), array("three", "four"));




2 . call_?user_?func
呼び出し元の関数パラメーターは参照パラメーターを渡すことはできません
call_user_func(関数名、パラメーター 1、パラメーター 2...)

call_user_func(function($arg) { print "[$arg]\n"; }, 'test');




3. 匿名関数を作成します
$myfunc = create_ ?function('関数パラメータ','関数本体');

$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');echo "New anonymous function: $newfunc\n";echo $newfunc(2, M_E) . "\n";




4. 静的関数を呼び出すメソッドはcall_user_func_array と同じ



5. forward_?static_?call

静的関数の呼び出し方法は call_user_func




6 と同じです func_?get_?arg(index)

パラメータリスト内の特定のパラメータを返します。インデックス値として




7. func_?get_ ?args

配列の形式ですべてのパラメータを収集します

<?phpfunction sum() {    $acc = 0;    foreach (func_get_args() as $n) {        $acc += $n;    }    return $acc;}echo sum(1, 2, 3, 4);?>



8. func_?num_?args()
関数によって渡されたパラメータの数を返します


9. function_?exists

関数が存在するかどうかを検出します

function_?exists("関数名"); // 関数が存在するかどうかを確認します

10. get_?define_?functions

システム関数 (内部)

とユーザー定義関数 (ユーザー)

を含む 2 次元配列の形式
Array(    [internal] => Array        (            [0] => zend_version            [1] => func_num_args            [2] => func_get_arg            [3] => func_get_args            [4] => strlen            [5] => strcmp            [6] => strncmp            ...            [750] => bcscale            [751] => bccomp        )    [user] => Array        (            [0] => myrow        ))


11. register_?shutdown_?function
この関数によって登録された関数は、システム実行が最大時間を超えました 致命的なエラー
 function add(){    code here... } register_?shutdown_?function("add");



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。