Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Funktion call_user_func

PHP-Funktion call_user_func

WBOY
WBOYOriginal
2016-07-29 09:13:023695Durchsuche

1. Funktionsbeschreibung

 Rufen Sie die Rückruffunktion auf. Prototyp: gemischt call_user_func (aufrufbar callback[,mixedParameter [, gemischt $… ]] ). Der erste Parameter-Callback ist die aufgerufene Callback-Funktion und die restlichen Parameter sind die Parameter der Callback-Funktion. Es können mehrere Parameter oder ein Array vorhanden sein.
Parameter können keine Referenzen sein, Referenzen können jedoch über Arrays übergeben werden. Hier ist ein Beispiel:

<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>

Ausgabe:
0
1
Rückgabewert: Gibt den Rückgabewert der Callback-Funktion zurück oder FALSE, wenn ein Fehler vorliegt.

2. Beispiel für die Verwendung des

  • -Namespace.
<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>
  • Methode in einer Klasse aufrufen
<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); }); });

Das Obige stellt die PHP-Funktion call_user_func vor, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn