Heim  >  Artikel  >  Backend-Entwicklung  >  Einige Beispiele zu PHP-Variablenfunktionen

Einige Beispiele zu PHP-Variablenfunktionen

怪我咯
怪我咯Original
2017-06-28 09:12:301170Durchsuche

PHP unterstützt das Konzept der Variablenfunktionen. Das heißt, wenn hinter einem -Variablennamen Klammern stehen, 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 für Funktionen wie echo , print , unset() , isset() , empty() , include , require und ähnliche Sprachkonstrukte verwendet werden . Um diese Strukturen als Variadic-Funktionen verwenden zu können, ist Ihre eigene Wrapper-Funktion erforderlich.

Beispiel #1 Beispiel für eine 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 auch die Syntax einer Variablenfunktion verwenden, um die Methode eines Objekts aufzurufen.

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

?>

Beim Aufruf einer statischen Methode haben Funktionsaufrufe Vorrang vor statischen Attributen:

Beispiel #3 Beispiele für Variablenmethoden und statische Eigenschaften

<?php
class  Foo
{
    static  $variable  =  &#39;static property&#39; ;
    static function  Variable ()
    {
        echo  &#39;Method Variable called&#39; ;
    }
}

echo  Foo :: $variable ;  // This prints &#39;static property&#39;. It does need a $variable in this scope.
$variable  =  "Variable" ;
Foo :: $variable ();   // This calls $foo->Variable() reading $variable in this scope.

?>

Das obige ist der detaillierte Inhalt vonEinige Beispiele zu 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