Récupérer un nom de variable sous forme de chaîne peut être une technique utile dans certains scénarios. Bien que PHP ne prenne pas directement en charge cette fonctionnalité, il est possible d'obtenir le résultat souhaité en utilisant une solution créative.
Dans le code PHP donné, nous avons une variable nommée $FooBar assignée à une valeur de chaîne. La tâche consiste à créer une fonction appelée print_var_name() qui imprime le nom de la variable sous la forme "FooBar" une fois la variable transmise.
La solution proposée utilise la fonction debug_backtrace() pour analyser la pile d'appels. Il identifie la ligne de code sur laquelle la fonction a été invoquée et récupère la ligne de code correspondante du fichier source. À l'aide d'expressions régulières, la fonction extrait le nom de la variable de la ligne.
function varName($v) { $trace = debug_backtrace(); $vLine = file(__FILE__); $fLine = $vLine[$trace[0]['line'] - 1]; preg_match("#\$(\w+)#", $fLine, $match); print_r($match); }
Cette solution fonctionne en exploitant les informations disponibles dans la pile d'appels et le code source. Il permet de récupérer le nom de la variable associée à la valeur passée à la fonction print_var_name(). Cependant, cela suppose que le nom de la variable est la seule variable dans la ligne où la fonction est appelée, ce qui n'est pas toujours le cas dans les scénarios de code complexe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!