1. 関数の説明
コールバック関数を呼び出します。プロトタイプ: 混合 call_user_func (呼び出し可能
パラメーターを参照にすることはできませんが、配列を介して参照を渡すことはできます。以下に例を示します:
<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>
上記は、関連するコンテンツを含む php call_user_func 関数の紹介です。PHP チュートリアルに興味のある友人に役立つことを願っています。