Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/03/2011, 12h19   #1
Membre du Club
 
Inscription : mai 2008
Messages : 235
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 235
Points : 46
Points : 46
Par défaut [POO] Nom de variable multi-niveau dynamique dans un objet

Bonjour tout le monde,

Pour commencer simple, je sais qu'il est possible de créer ou d'appeler (ce qui m'intéresse dans ce cas) un nom de variable composé dynamiquement, par exemple:

Code :
1
2
3
4
5
 
$array = (0,1,2,3,4,5,6,7,8,9,10);
foreach($array as $varName){
   $newVar[] = $var_{$varName};
}
ce qui initialisera les variables:
- $newVar[0] = $var_0,
- $newVar[1] = $var_1 ....

je souhaiterai faire la même chose mais sur un objet, et avec plusieurs niveau, je m'explique avec ce petit bout de code:

Code :
1
2
3
4
5
 
$array("peros->login", "fichier->filetype", "fichier->filename->ext");
foreach($array as $varName){
   $infos[] = $xml->{$varName}
}
ce qui devrai donner quelque chose du genre:
- $infos[0] = $xml->perso->login;
- $infos[1] = $xml->fichier->filetype;
- $infos[2] = $xml->fichier->filename->ext;

quelqu'un sait-il comment faire ?
Merci =)

PS: je bosse avec l'objet SimpleXML.
xxkirastarothxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 12h43   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Salut

Code :
1
2
3
4
5
6
7
8
9
 
class Test { public $var1; public $var2; public $var3; }
 
$obj = new Test;
$a = array('var1','var2','var3');
foreach ($a as $i)
  $obj->$i = "hello";
 
var_dump($obj);
Tout simplement
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h33.


 
 
 
 
Partenaires

Hébergement Web