In PHP werden alle Variablen in der HastTable-Struktur von „Symboltabelle“ gespeichert. Der Gültigkeitsbereich eines Symbols ist mit der aktiven Symboltabelle verknüpft. Daher gibt es jeweils nur eine aktive Symboltabelle.
Wir können die aktuell aktive Symboltabelle über die Methode get_defined_vars abrufen.
get_defined_vars // 返回所有已定义的变量所组成的数组
Suchen Sie den Variablennamen anhand seines Werts. Beachten Sie jedoch, dass möglicherweise Variablen mit demselben Wert vorhanden sind.
Speichern Sie daher zunächst den Wert der aktuellen Variablen in einer temporären Variablen und weisen Sie dann der ursprünglichen Variablen einen eindeutigen Wert zu, um den Namen der Variablen zu finden Name, speichern Sie den Wert der temporären Variablen. Der Wert wird der ursprünglichen Variablen neu zugewiesen.
Beispiel 1:
<?php $a = '100'; echo '$a name is:'.get_variable_name($a).' value:'.$a; // $a name is: a value: 100 /** * @param String $var 要查找的变量 * @param Array $scope 要搜寻的范围 * @param String 变量名称 */ function get_variable_name(&$var, $scope=null){ $scope = $scope==null? $GLOBALS : $scope; // 如果没有范围则在globals中找寻 // 因有可能有相同值的变量,因此先将当前变量的值保存到一个临时变量中,然后再对原变量赋唯一值,以便查找出变量的名称,找到名字后,将临时变量的值重新赋值到原变量 $tmp = $var; $var = 'tmp_value_'.mt_rand(); $name = array_search($var, $scope, true); // 根据值查找变量名称 $var = $tmp; return $name; } ?>
Beispiel 2: Den in der Funktion definierten Variablennamen abrufen
<?php function test(){ $a = '100'; echo '$a name is:'.get_variable_name($a); } test(); // $a name is: undefined //因为在function中定义的变量globals会找不到 function test2(){ $a = '100'; echo '$a name is:'.get_variable_name($a, get_defined_vars()); } test2(); // $a name is: a // 将scope设定为 get_defined_vars() 可以找到 ?>
In diesem Artikel wird erläutert, wie Sie den Namen einer Variablen über PHP erhalten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Erfahren Sie mehr über das Klonen von PHP-Objekten
Über allgemeine MySQL-Protokollvorgänge
Einführung in die PHP-Cookie-Operationsklasse
Das obige ist der detaillierte Inhalt vonSo erhalten Sie den Namen einer Variablen über PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!