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

Comment puis-je obtenir le nom d'une variable PHP sous forme de chaîne ?

Barbara Streisand
Libérer: 2024-12-16 02:19:13
original
891 Les gens l'ont consulté

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

Obtenir des noms de variables sous forme de chaînes en PHP

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

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

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!

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