In PHP kann der Zugriff auf den Namen einer Variablen als String in verschiedenen Szenarien nützlich sein. Hier ist eine mögliche Lösung:
Das bereitgestellte Code-Snippet demonstriert eine Funktion namens varName(), die den Namen einer übergebenen Variablen abruft:
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 verwendet PHPs debug_backtrace(), um die zu erhalten Spur der aufrufenden Funktion. Anschließend liest es die mit der Ablaufverfolgung verknüpfte Quellcodedatei und extrahiert die Zeile mit dem Funktionsaufruf mithilfe von file(__FILE__).
Um den Variablennamen zu extrahieren, verwendet es einen regulären Ausdruck, um mit dem Variablennamen übereinzustimmen, was erforderlich ist Beginnen Sie mit einem Dollarzeichen ($), gefolgt von einem Wortzeichen.
Hier ist die Ausgabe der Funktion für das bereitgestellte Zeichen Variablen:
Array ( [0] => $foo [1] => foo ) Array ( [0] => $bar [1] => bar ) Array ( [0] => $baz [1] => baz )
Diese Lösung bietet zwar eine Möglichkeit, Variablennamen als Zeichenfolgen zu erhalten, weist jedoch Einschränkungen auf und ist möglicherweise nicht für alle Anwendungsfälle geeignet. Überlegen Sie sorgfältig, ob in Ihrem Code Variablennamen extrahiert werden müssen, und prüfen Sie gegebenenfalls alternative Ansätze.
Das obige ist der detaillierte Inhalt vonWie kann ich den Namen einer PHP-Variablen als String erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!