ホームページ  >  記事  >  バックエンド開発  >  PHPのcall_user_func関数

PHPのcall_user_func関数

WBOY
WBOYオリジナル
2016-07-29 09:13:023633ブラウズ

1. 関数の説明

コールバック関数を呼び出します。プロトタイプ: 混合 call_user_func (呼び出し可能 callback[] mix edパラメータ [,mixed $… ]] )。 最初のパラメータ callback は呼び出されるコールバック関数で、残りのパラメータはコールバック関数のパラメータです。複数のパラメータまたは配列を指定できます。
パラメーターを参照にすることはできませんが、配列を介して参照を渡すことはできます。以下に例を示します:

<code><span><?php</span><span><span>function</span><span>addone</span><span>(&<span>$num</span>)</span> {</span><span>$num</span> ++; 
}

<span>$num</span> = <span>0</span>;

call_user_func(<span>'addone'</span>, <span>$num</span>);
<span>echo</span><span>"num : "</span> . <span>$num</span> . <span>"\n"</span>;

call_user_func_array(<span>'addone'</span>, <span>array</span>(&<span>$num</span>) );
<span>echo</span><span>"num : "</span> . <span>$num</span> . <span>"\n"</span>;

<span>?></span></code>

出力:
0
1
戻り値: コールバック関数の戻り値、またはエラーがある場合は FALSE を返します。

2. 名前空間の使用例


<code><span><?php</span><span>namespace</span><span>Foobar</span>;

<span><span>class</span><span>Foo</span> {</span><span>static</span><span>public</span><span><span>function</span><span>test</span><span>()</span> {</span><span>print</span><span>"Hello world!\n"</span>;
    }
}

call_user_func(<span>__NAMESPACE__</span> .<span>'\Foo::test'</span>); 
call_user_func(<span>array</span>(<span>__NAMESPACE__</span> .<span>'\Foo'</span>, <span>'test'</span>)); 

<span>?></span></code>
  • クラス内のメソッドを呼び出す
<code><span><?php</span><span><span>class</span><span>myclass</span> {</span><span>static</span><span><span>function</span><span>test</span><span>()</span>
    {</span><span>echo</span><span>"Hello world!\n"</span>;
    }
}

<span>$classname</span> = <span>"myclass"</span>;

call_user_func(<span>array</span>(<span>$classname</span>, <span>'test'</span>));

<span>$myobject</span> = <span>new</span> myclass();

call_user_func(<span>array</span>(<span>$myobject</span>, <span>'test'</span>));

<span>?></span></code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記は、関連するコンテンツを含む php call_user_func 関数の紹介です。PHP チュートリアルに興味のある友人に役立つことを願っています。

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