stdClass Object problèmes
J'ai du mal à analyser les données ci-dessous à l'aide de PHP. Une API retourne, et j'ai essayé plusieurs syntaxes. Comment puis-je renvoyer les données dans un non-objet de la sorte? Ou, quelle est la syntaxe pour appeler les données à l'aide de la stdClass?
Pourrais-je convertir ce pour les données d'un tableau, ou même les deux? Je suis perdu quand il s'agit de l'objet en fonction des ensembles de données.
stdClass Object
(
[0] => stdClass Object
(
[district] => stdClass Object
(
[state] => NY
[number] => 29
)
)
[1] => stdClass Object
(
[district] => stdClass Object
(
[state] => NY
[number] => 26
)
)
)
Quand je crée l'objet de mon propre chef, et puis faire un var_dump, j'obtiens ceci:
object(stdClass)#8 (2) {
[0]=>
object(stdClass)#4 (1) {
["district"]=>
object(stdClass)#5 (2) {
["state"]=>
string(2) "NY"
["number"]=>
string(2) "29"
}
}
[1]=>
object(stdClass)#6 (1) {
["district"]=>
object(stdClass)#7 (2) {
["state"]=>
string(2) "NY"
["number"]=>
string(2) "26"
}
}
}
- Où est cet objet venant d'?
- À partir de cette API, emmense.com/sunlight-labs-php-library <?php include('class.sunlightlabs.php'); $sf = new SunlightDistrict; $sf->api_key = '[api key]'; echo '<pre>'; print_r( $sf->districtsByZipCode( 14485 ) ); echo '</pre>'; ?>
Vous devez vous connecter pour publier un commentaire.
Ils sont probablement casting des tableaux d'objets dans leur code (
$object = (object) $array
). Ceci a l'avantage qu'il sera passé par référence à partir de maintenant (comme c'est le défaut avec des objets) et l'inconvénient que l'objet est complètement inutile (les membres ne peuvent pas commencer avec des chiffres - voir le regex en PHP docs) jusqu'à ce que vous le lancez back (PHP ne permettre à certains de très mystérieux choses):ad-text
- chargement dans un objet SimpleXML et de la tentative d'accès$ad->ad-text
n'a pas fonctionné.Utilisation:
Fondamentalement, Vous êtes à court de coupe de l'affectation d'une chaîne à une variable, l'utilisation de cette variable en tant que votre objet accesseur.
Je suis à la recherche de leur code maintenant, et malheureusement, ils n'ont pas exposé de l'option dans leur classe pour vous de demander les données dans un tableau associatif de l'arbre par rapport à un objet stdClass arbre.
Le "problème" est à la ligne 96 dans class.sunlightlabs.php
Vous avez quelques options.
#1 dans l'action
#2 en action
Vous pouvez également travailler avec leur classe, directement via certains de l'application créatrice de modèles, mais ils font un usage intensif de sublcasses déjà ce qui complique c'est assez peu, donc je collerais à l'une de ces deux solutions.
Vous pouvez parcourir par le biais de l'objet comme ceci:
L'utilisateur 'null', suggéré dans les commentaires, mais que vous voulez le mettre ici, donc c'est à ne pas manquer si facilement.
La meilleure option est de passer VRAI que le deuxième paramètre de la fonction json_decode c'est à dire json_decode($data, TRUE) qui en fait retour des tableaux associatifs au lieu de classes. Donc, si vous avez accès au code source – d'effectuer le changement.
Cette solution de soulmerge juste a bien fonctionné pour moi:
Merci beaucoup!!