Accès à la valeur d'un tableau d'un objet via une variable
Salut tout le monde !
Une question sans doute un peu triviale pour certains mais qui me laisse assez perplexe.
J'expose la situation. J'ai un fichier XML que j'utilise via simplexml et qui ressemble à :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?xml version="1.0" encoding="iso-8859-1"?>
<liste>
<objet>
<name>Objet 1</name>
<file>test_objet1.txt</file>
</objet>
<objet>
<name>Objet 2</name>
<file>test_objet2.txt</file>
</objet>
<objet>
<name>Objet 3</name>
<file>test_objet3.txt</file>
</objet>
</liste> |
Du coté du PHP, je cherche à obtenir la valeur du champ "name" de l'objet dont le numéro est passé en argument au script via l'adresse (donc en get) de cette façon :
Code:
$xml->objet[$_GET['num']]->name
Mais ça ne fonctionne pas.
Je suis assez étonné, puisque avec une valeur numérique, ça passe.
J'ai donc tenté ça :
Code:
1 2 3 4 5 6 7 8 9
| $pouet = array (1,2,3,4);
$acces = 2;
echo "Avec acces : ".$pouet[$acces];
// Affiche 3
echo "Avec GET : ".$pouet[$_GET['num']];
// Affiche 3 également
// Avec come argument adresse : ?num=2 |
Et là il y a un comportement normal.
Du côté simplexml j'ai fait :
Code:
$xml = simplexml_load_file("objets.xml");
Qui me donne mon objet $xml suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| echo var_dump($xml);
object(SimpleXMLElement)#1 (1) {
["objet"]=>
array(3) {
[0]=>
object(SimpleXMLElement)#4 (2) {
["name"]=>
string(7) "Objet 1"
["file"]=>
string(15) "test_objet1.txt"
}
[1]=>
object(SimpleXMLElement)#3 (2) {
["name"]=>
string(7) "Objet 2"
["file"]=>
string(15) "test_objet2.txt"
}
[2]=>
object(SimpleXMLElement)#2 (2) {
["name"]=>
string(7) "Objet 3"
["file"]=>
string(15) "test_objet3.txt"
}
}
} |
Est-ce que le fait que $xml soit un objet gênerait ?
Bref help please :bug:, je commence à manquer d'imagination pour régler ça.