2010-06-18 5 views
0

J'utilise un certain analyseur XML pour obtenir des informations de l'API, bla bla ... :)Obtenir des informations à partir d'un objet XML en PHP

Dans un endroit dans mon script, je dois convertir la chaîne en int, mais Je ne sais pas comment ...

Voici mon objet:

object(parserXMLElement)#45 (4) { 
    ["name:private"]=> 
    string(7) "balance" 
    ["data:private"]=> 
    object(SimpleXMLElement)#46 (1) { 
    [0]=> 
    string(12) "11426.46" 
    } 
    ["children:private"]=> 
    NULL 
    ["rows:private"]=> 
    NULL 
} 

je dois avoir cette chaîne « 11426,46 » enregistrée dans un var comme entier.
Lorsque j'appelle $parsed->result->balance je reçois cette chaîne, mais si je veux la transformer en int, le résultat est: 1.

S'il vous plaît, aidez-moi!
Merci beaucoup!

+0

'certain parseur XML' &' parserXMLElement' ne sonnent pas la cloche, souciez-vous de partager lesquels? – Wrikken

Répondre

2

vous avez un objet, l'intval d'un objet sera toujours 1 (s'il n'a pas de méthode magique __toString() définie). vous pouvez intval SimpleXMLElement et il retournera 11426, mais pour ce faire, le membre de données de la classe parserXMLElement doit être public. Vous devrez peut-être définir une méthode getData() pour la classe parserXMLElement ou rendre le membre de données public.

0

Vous devez utiliser intval. Par exemple:

echo intval($parsed->result->balance); 

volonté en sortie la valeur comme un entier - en supposant que balance est une chaîne.

+0

il est encore en train de produire 1! :( – errata

+0

@errata - voir la réponse de @ kgb Je supposais que 'balance' était une chaîne – ChrisF

Questions connexes