Maison > développement back-end > tutoriel php > Comment puis-je récupérer le nom d'une variable sous forme de chaîne en PHP ?

Comment puis-je récupérer le nom d'une variable sous forme de chaîne en PHP ?

Susan Sarandon
Libérer: 2024-12-29 04:33:13
original
777 Les gens l'ont consulté

How Can I Retrieve a Variable's Name as a String in PHP?

Récupération de noms de variables sous forme de chaînes en PHP

En PHP, des situations surviennent souvent où le nom d'une variable est requis sous forme de chaîne. Considérez le code suivant :

$FooBar = "a string";
print_var_name($FooBar);
Copier après la connexion

Nous voulons que print_var_name() affiche "FooBar". Cependant, est-ce réalisable en PHP ?

Les défis de la récupération de noms de variables

En raison de la nature dynamique de PHP, récupérer des noms de variables sous forme de chaînes peut être difficile. Les noms de variables ne sont pas stockés sous forme de métadonnées en PHP. Au lieu de cela, ils sont attribués dynamiquement au moment de l'exécution.

Une solution possible

Une solution possible à ce défi a été proposé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);
Copier après la connexion

Cette fonction accomplit la tâche en analysant la ligne de code qui l'a appelée. Il correspond au nom de la variable de l'argument transmis.

Cependant, cette solution a des limites. Cela ne fonctionne que dans la fonction qui l'a appelé. De plus, le nom de la variable récupéré peut ne pas refléter avec précision le vrai nom de la variable s'il a été alias ou modifié dans d'autres parties du code.

Autres alternatives et considérations

En fin de compte, la pertinence de cette méthode dépend du cas d’utilisation spécifique. PHP ne fournit pas de méthode directe pour récupérer les noms de variables sous forme de chaînes, des solutions créatives peuvent donc être nécessaires.

D'autres options à considérer incluent l'utilisation des fonctions var_dump() ou print_r() de PHP pour afficher les informations sur les variables, ou le stockage des noms de variables dans un tableau ou un objet pour référence future.

Il est important d'examiner attentivement les raisons derrière la nécessité de récupérer les noms de variables et d'explorer des approches alternatives qui répondent aux exigences spécifiques du projet.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal