En PHP, récupérer le nom d'une variable sous forme de chaîne peut être une tâche particulière. Considérons le code suivant :
$FooBar = "a string";
Pour extraire le nom de la variable, nous pourrions généralement utiliser une fonction comme celle-ci :
print_var_name($FooBar);
En attendant que la fonction génère "FooBar", nous rencontrons un dilemme : PHP ne dispose pas nativement d'une méthode simple pour accéder aux noms de variables sous forme de chaînes.
Cependant, une solution de contournement existe. Même si ce n'est peut-être pas la solution la plus efficace, elle permet de récupérer les noms de variables dans certaines conditions spécifiques :
<?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); ?>
Cette fonction, varName(), fonctionne en analysant la ligne qui l'a invoquée, en recherchant l'argument passé dans l'appel de fonction. Bien qu'elle puisse être personnalisée pour gérer plusieurs arguments, il est important de noter que cette solution de contournement a ses limites. Pour des scénarios plus complexes, des solutions alternatives peuvent s’avérer plus adaptées. Néanmoins, il propose une méthode pour récupérer les noms de variables en PHP pour des cas d'utilisation limités.
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!