Array d'objets d'array d'array d'objet ?!
Résolu
Lya
-
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je me mélange les pinceaux entre les array et les objets...
Comment extraire de ce tableau la donnée "destinataire" ?
Merci,
Lya
Je me mélange les pinceaux entre les array et les objets...
Comment extraire de ce tableau la donnée "destinataire" ?
Array ( [signature] =>M2Mjc0NjgsXCJhcHBc [commande_details] => {"commande_id":112248545542195,"acheteur":14151819,"destinataire":1415181968,"montant":12,"objet":[{"item_id":"4","titre":"Parapluie","description":"Parapluie pour la pluie","prix":12,"data":"1350"}],"status":"ok"} [status] => ok [commande_id] => 789gft6541 [methode] => paiement_update )
Merci,
Lya
A voir également:
- Array d'objets d'array d'array d'objet ?!
- Site pour vendre des objets d'occasion - Guide
- Ryanair objets interdits - Guide
- Identifier un objet à partir d'une photo - Guide
- Mesurer un objet - Guide
- Dans la messagerie ci-dessous, envoyez un nouveau message à manon (manon@pixmail.org) en mettant en copie nina (nina@pixmail.org) : objet : colis bonjour, votre colis est arrivé. que répond manon ? ✓ - Forum Loisirs / Divertissements
6 réponses
Bonjour,
L'item [commande_details] correspond à la sérialisation d'un tableau d'objets.
Pour désérialiser, il faut utiliser unserialze:
https://www.php.net/manual/fr/function.unserialize.php
sauf que pour désérialser un objet, c'est compliqué.
Voici une solution:
et qui affiche ceci:
A partir de là on fait simplement ceci:
à l'exécution on retrouve ceci pour $destinataire: 1415181968
A+
L'item [commande_details] correspond à la sérialisation d'un tableau d'objets.
Pour désérialiser, il faut utiliser unserialze:
https://www.php.net/manual/fr/function.unserialize.php
sauf que pour désérialser un objet, c'est compliqué.
Voici une solution:
$commandeDetail = '{"commande_id":112248545542195,"acheteur":14151819,"destinataire":1415181968,"montant":12,"objet":[{"item_id":"4","titre":"Parapluie","description":"Parapluie pour la pluie","prix":12,"data":"1350"}],"status":"ok"}'; $search=array('{','"'); $replace=array('','', ); $xx = str_replace($search, $replace, $commandeDetail); $yy = explode(',', $xx); print_r($yy);
et qui affiche ceci:
Array ( [0] => commande_id:112248545542195 [1] => acheteur:14151819 [2] => destinataire:1415181968 [3] => montant:12 [4] => objet:[item_id:4 [5] => titre:Parapluie [6] => description:Parapluie pour la pluie [7] => prix:12 [8] => data:1350}] [9] => status:ok} )
A partir de là on fait simplement ceci:
$destinataire = null; foreach($yy AS $key => $val) { $zz = explode(':', $val); if($zz[0]=='destinataire') { $destinataire = $zz[1]; } } echo "<b>".$destinataire."</b><br>";
à l'exécution on retrouve ceci pour $destinataire: 1415181968
A+
Ahh une réponse!
J'ai tenté ceci mais cela ne marche pas. Merci quand même :)
J'ai également tenté de convertir le tout en tableau, ce qui fonctionne. Le gros problème est que cela me transforme mes données en exposant...
ex "destinataire":1415181968
me renvoie 1415181E14
Mal barrée...
J'ai tenté ceci mais cela ne marche pas. Merci quand même :)
J'ai également tenté de convertir le tout en tableau, ce qui fonctionne. Le gros problème est que cela me transforme mes données en exposant...
ex "destinataire":1415181968
me renvoie 1415181E14
Mal barrée...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question