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

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

Barbara Streisand
Libérer: 2024-12-25 00:53:12
original
218 Les gens l'ont consulté

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

Récupération de nom de variable en PHP

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);
}
Copier après la connexion

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!

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