Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Petit probleme pour acceder a une variable d'une classe PHP

7 réponses
Avatar
Bruno Baguette
Bonjour,

J'essaye d'accèder à une valeur d'un objet retourné par une fonction
(dont je ne n'ai absolument pas la possibilité de modifier), mais j'ai
un peu du mal car le nom de la variable de cet objet est un entier...

stdClass Object
(
[1] => Array
(
[ID] => 63977
[UserGUID] => {B35167F9-D2FB-489E-B02D-0957605BFE16}
[UserID] => 3176
[Created] => 37960704639544752
[Modified] => 38101615843788584
)

[Active] => true
[Reference] => BKH04
}

Avec $MonObjet->Reference je récupère bien 'BKH04'.

Mais comment avoir accès aux variables ID, UserGUID,... ?

Si j'essaye avec $MonObjet->1['ID'], cela me donne une erreur de
l'interpréteur PHP... (à cause du 1, évidemment)

Bref, c'est con, mais je suis complètement coincé avec ca.

Personne n'aurait une idée pour récupérer ces valeurs ?

D'avance merci ! :-)


--
Bruno BAGUETTE - bouchon@alussinan.org

S'i'n'a è'ne saquî qui n'doit nin mârtchi, è'n mârtch'rè nîn.

7 réponses

Avatar
Etienne SOBOLE
"Bruno Baguette" a écrit dans le message de news:

Mais comment avoir accès aux variables ID, UserGUID,... ?
$MonObjet[1]->ID'


Etienne

Avatar
DJiK
le nom de la variable de cet objet est un entier...



Mais on a pas le droit de faire ça! :-o


"Un nom de variable valide doit commencer par une lettre ou un souligné (_)"
http://www.php.net/manual/fr/language.variables.php

--
DJiK

Avatar
Bruno Baguette
Bruno Baguette wrote:

J'essaye d'accèder à une valeur d'un objet retourné par une fonction
(dont je ne n'ai absolument pas la possibilité de modifier), mais j'ai
un peu du mal car le nom de la variable de cet objet est un entier...

stdClass Object
(
[1] => Array
(
[ID] => 63977
[UserGUID] => {B35167F9-D2FB-489E-B02D-0957605BFE16}
[UserID] => 3176
[Created] => 37960704639544752
[Modified] => 38101615843788584
)

[Active] => true
[Reference] => BKH04
}

Avec $MonObjet->Reference je récupère bien 'BKH04'.

Mais comment avoir accès aux variables ID, UserGUID,... ?


En discutant avec une connaissance, on a fini par trouver un moyen
d'accéder à cette valeur.

Je vous donne le truc car il fallait y penser !

Ca passe par un jeu pour que PHP considère le nom de la variable comme
étant le *caractère* 1 et non pas comme étant la *valeur numérique* 1.

Ca devient donc ceci : $MonObjet->{'1'}['ID']

Et là, je récupère en effet la valeur présente dans le print_r que je
vous ai indiqué tout à l'heure.

Cet objet étant en fait généré par la classe PEAR XML Unserializer pour
accéder plus facilement à des données XML.

En espérant que cela aidera ! :-)

Très cordialement,

--
Bruno BAGUETTE -

S'i'n'a è'ne saquî qui n'doit nin mârtchi, è'n mârtch'rè nîn.

Avatar
Bruno Baguette
DJiK wrote:

le nom de la variable de cet objet est un entier...


Mais on a pas le droit de faire ça! :-o


"Un nom de variable valide doit commencer par une lettre ou un souligné
(_)"
http://www.php.net/manual/fr/language.variables.php


Je sais bien que c'est interdit, mais c'est pourtant le cas... :-/

Il faut croire que les classes PHP dérogent à cette restriction...

--
Bruno BAGUETTE -

S'i'n'a è'ne saquî qui n'doit nin mârtchi, è'n mârtch'rè nîn.


Avatar
Bruno Baguette
Etienne SOBOLE wrote:
"Bruno Baguette" a écrit dans le message de news:


Mais comment avoir accès aux variables ID, UserGUID,... ?


$MonObjet[1]->ID'


Il ne s'agit pas d'un array d'objets, mais bien d'une variable d'un
objet... Ca ne fonctionne donc pas :-/

Merci pour le coup d'essai :-)

--
Bruno BAGUETTE -

S'i'n'a è'ne saquî qui n'doit nin mârtchi, è'n mârtch'rè nîn.


Avatar
Cleo
stdClass Object
(
[1] => Array
(
[ID] => 63977
[UserGUID] => {B35167F9-D2FB-489E-B02D-0957605BFE16}
[UserID] => 3176
[Created] => 37960704639544752
[Modified] => 38101615843788584
)

[Active] => true
[Reference] => BKH04
}

Avec $MonObjet->Reference je récupère bien 'BKH04'.

Mais comment avoir accès aux variables ID, UserGUID,... ?


La solution:
$nomProp = 1;
$Tab = &$MonObjet->$nomProp;
echo $Tab["UserGUID"];


Amicalement.
--
Cléo.

Avatar
DJiK
Cet objet étant en fait généré par la classe PEAR XML Unserializer



J'allais demander quel était le bougre de rigolo qui avait écrit ça! :D
Ouais, je sais pas trop comment ou pourquoi ils ont fait ça.

Bravo pour avoir trouvé! :-)

--
DJiK