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

Wie kann ich den Namen einer Variablen als String in PHP erhalten?

Barbara Streisand
Barbara StreisandOriginal
2024-12-21 05:35:09559Durchsuche

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

Variablennamen als Strings in PHP abrufen

In PHP kann das Abrufen des Namens einer Variable als String eine besondere Aufgabe sein. Betrachten Sie den folgenden Code:

$FooBar = "a string";

Um den Namen der Variablen zu extrahieren, könnten wir normalerweise eine Funktion wie diese verwenden:

print_var_name($FooBar);

Wenn wir erwarten, dass die Funktion „FooBar“ ausgibt, stoßen wir auf a Dilemma: PHP fehlt von Haus aus eine einfache Methode, um auf Variablennamen als Strings zuzugreifen.

Es gibt jedoch eine Problemumgehung. Obwohl dies möglicherweise nicht die effizienteste Lösung ist, bietet sie eine Möglichkeit, Variablennamen unter bestimmten spezifischen Bedingungen abzurufen:

<?php

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

$foo = "knight";
$bar = array(1, 2, 3);
$baz = 12345;

varName($foo);
varName($bar);
varName($baz);

?>

Diese Funktion, varName(), analysiert die Zeile, die sie aufgerufen hat, und sucht nach das an den Funktionsaufruf übergebene Argument. Es kann zwar angepasst werden, um mehrere Argumente zu verarbeiten, es ist jedoch wichtig zu beachten, dass diese Problemumgehung ihre Grenzen hat. Für komplexere Szenarien können sich alternative Lösungen als geeigneter erweisen. Dennoch bietet es eine Methode zum Abrufen von Variablennamen in PHP für begrenzte Anwendungsfälle.

Das obige ist der detaillierte Inhalt vonWie kann ich den Namen einer Variablen als String in PHP erhalten?. 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