Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich den Namen einer PHP-Variablen als String abrufen?

Wie kann ich den Namen einer PHP-Variablen als String abrufen?

Barbara Streisand
Freigeben: 2024-12-25 00:53:12
Original
218 Leute haben es durchsucht

How Can I Retrieve a PHP Variable's Name as a String?

Abruf von Variablennamen in PHP

Das Abrufen eines Variablennamens als Zeichenfolge kann in bestimmten Szenarien eine nützliche Technik sein. Obwohl PHP diese Funktionalität nicht direkt unterstützt, ist es möglich, mit einer kreativen Lösung das gewünschte Ergebnis zu erzielen.

Im angegebenen PHP-Code haben wir eine Variable namens $FooBar, die einem String-Wert zugewiesen ist. Die Aufgabe besteht darin, eine Funktion namens print_var_name() zu erstellen, die den Variablennamen als „FooBar“ ausgibt, wenn die Variable übergeben wird.

Die vorgeschlagene Lösung nutzt die Funktion debug_backtrace(), um den Aufrufstapel zu analysieren. Es identifiziert die Codezeile, in der die Funktion aufgerufen wurde, und ruft die entsprechende Codezeile aus der Quelldatei ab. Mithilfe regulärer Ausdrücke extrahiert die Funktion den Variablennamen aus der Zeile.

function varName($v) {
    $trace = debug_backtrace();
    $vLine = file(__FILE__);
    $fLine = $vLine[$trace[0]['line'] - 1];
    preg_match("#\$(\w+)#", $fLine, $match);
    print_r($match);
}
Nach dem Login kopieren

Diese Lösung nutzt die im Aufrufstapel und im Quellcode verfügbaren Informationen. Es ermöglicht uns, den Variablennamen abzurufen, der dem an die Funktion print_var_name() übergebenen Wert zugeordnet ist. Es wird jedoch davon ausgegangen, dass der Variablenname die einzige Variable in der Zeile ist, in der die Funktion aufgerufen wird, was in komplexen Codeszenarien möglicherweise nicht immer der Fall ist.

Das obige ist der detaillierte Inhalt vonWie kann ich den Namen einer PHP-Variablen als String abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage