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

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

Barbara Streisand
Libérer: 2024-12-21 05:35:09
original
556 Les gens l'ont consulté

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

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

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

Pour extraire le nom de la variable, nous pourrions généralement utiliser une fonction comme celle-ci :

print_var_name($FooBar);
Copier après la connexion

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);

?>
Copier après la connexion

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!

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