Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse der Verwendung von PHP-Variablenfunktionen

Analyse der Verwendung von PHP-Variablenfunktionen

伊谢尔伦
伊谢尔伦Original
2017-06-26 09:28:261219Durchsuche

PHP unterstützt das Konzept der Variablenfunktionen. Das heißt, wenn auf den Variablennamen Klammern folgen, sucht PHP nach einer Funktion mit demselben Namen wie der Wert der Variablen und versucht, diese auszuführen. Variablenfunktionen können zur Implementierung einiger Zwecke verwendet werden, einschließlich Rückruffunktionen und Funktionstabellen.

Variablenfunktionen können nicht in Sprachstrukturen verwendet werden, wie echo(), print(), unset(), isset(), empty(), include (), require() und ähnliche Anweisungen . Sie müssen Ihre eigenen Wrapper-Funktionen verwenden, um diese Strukturen als variable Funktionen zu verwenden.
Beispiel #1 Beispiel einer Variablenfunktion

<?php
function  foo () {
    echo  "In foo()<br />/n" ;
}
function  bar ( $arg  =  &#39;&#39; ) {
    echo  "In bar(); argument was &#39; $arg &#39;.<br />/n" ;
}
// 使用 echo 的包装函数
function  echoit ( $string )
{
    echo  $string ;
}
$func  =  &#39;foo&#39; ;
$func ();         // This calls foo()
$func  =  &#39;bar&#39; ;
$func ( &#39;test&#39; );   // This calls bar()
$func  =  &#39;echoit&#39; ;
$func ( &#39;test&#39; );   // This calls echoit()
?>

Sie können die Eigenschaften der Variablenfunktion auch verwenden, um ein Objekt aufzurufen Verfahren.


Beispiel #2 Beispiel für eine variable Methode

<?php
class  Foo
{
    function  Variable ()
    {
         $name  =  &#39;Bar&#39; ;
         $this -> $name ();  // This calls the Bar() method
     }
    function  Bar ()
    {
        echo  "This is Bar" ;
    }
}
$foo  = new  Foo ();
$funcname  =  "Variable" ;
$foo -> $funcname ();    // This calls $foo->Variable()
?>

Das obige ist der detaillierte Inhalt vonAnalyse der Verwendung von PHP-Variablenfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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