Recherche du nom d'une variable

Le
Dominique Ottello
Bonjour,

Dans des scripts PHP, il existe *un seul* tableau et, pour trouver quel
est le nom de ce tableau, j'utilise le code suivant

//Extraction of the array name
$tokens = token_get_all(file_get_contents('mon_fichier.php'));
$tableau = '';
foreach ($tokens as $token) {
if (is_array($token) && $token[0] == T_VARIABLE) {
$tableau = substr($token[1], 1);
break;
}
}

La variable $tableau contient le nom du tableau ou est vide si aucun
tableau n'est trouvé.

Est-ce la bonne méthode ?
N'y a-t'il pas plus simple ?

Merci.
--
Ce n'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont forcément raison. Coluche
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #23037461
Le 18/01/2011 23:45, Dominique Ottello a écrit :

Dans des scripts PHP, il existe *un seul* tableau et, pour trouver quel
est le nom de ce tableau, j'utilise le code suivant

[...]

N'y a-t'il pas plus simple ?



Personnellement, j'aurais fait un truc de ce genre (code non testé) :

$tableau = '';
foreach($GLOBALS as $nom => $valeur) {
switch($nom) {
case "GLOBALS":
case ... ajouter ici tous les tableaux créés automatiquement ...
continue;
}
if (is_array($valeur)) {
$tableau = $nom;
break;
}
}

Je ne sais pas en revanche si cette méthode est meilleure ou moins bonne
que la tienne.

Cordialement,
--
Olivier Miakinen
Dominique Ottello
Le #23038631
Olivier Miakinen
Personnellement, j'aurais fait un truc de ce genre (code non testé) :

$tableau = '';
foreach($GLOBALS as $nom => $valeur) {



Nenni !

Car le fichier duquel je veux extraire le nom du tableau n'a encore pas
été inclus - et ne le sera qu'après le traitement - donc, le nom du
tableau ne fait pas encore partie de $GLOBALS.
--
Il vaut mieux ignorer où l'on est, et savoir qu'on l'ignore, que de se
croire avec confiance où l'on n'est pas. Jean Dominique Cassini.
Technologie aéronautique - http://ottello.net - Les anciens de Vilgénis
Olivier Miakinen
Le #23039731
Le 20/01/2011 19:32, Dominique Ottello a écrit :

foreach($GLOBALS as $nom => $valeur) {



Nenni !

Car le fichier duquel je veux extraire le nom du tableau n'a encore pas
été inclus - et ne le sera qu'après le traitement - donc, le nom du
tableau ne fait pas encore partie de $GLOBALS.



C'est parfaitement clair. Cela confirme le fait que je n'ai rien de
mieux à te proposer que ce que tu fais déjà.
Publicité
Poster une réponse
Anonyme