En PHP, accéder au nom d'une variable sous forme de chaîne peut être utile dans divers scénarios. Voici une solution potentielle :
L'extrait de code fourni montre une fonction appelée varName() qui récupère le nom d'une variable passée :
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);
Cette fonction utilise debug_backtrace() de PHP pour obtenir le trace de la fonction appelante. Il lit ensuite le fichier de code source associé à la trace et extrait la ligne contenant l'appel de fonction à l'aide de file(__FILE__).
Pour extraire le nom de la variable, il utilise une expression régulière pour correspondre au nom de la variable, qui doit commencer par un signe dollar ($) et être suivi d'un caractère de mot.
Voici le résultat de la fonction pour le fourni variables :
Array ( [0] => $foo [1] => foo ) Array ( [0] => $bar [1] => bar ) Array ( [0] => $baz [1] => baz )
Bien que cette solution fournisse un moyen d'obtenir des noms de variables sous forme de chaînes, elle présente des limites et peut ne pas convenir à tous les cas d'utilisation. Réfléchissez attentivement à la nécessité d'extraire les noms de variables dans votre code et explorez des approches alternatives si nécessaire.
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!