Récupérer la valeur d'un array

Par Nicolas.L, il y a 6 ans


Bonjour,

Juste une question simple, je cherche à obtenir une valeur contenu dans mon array mais je n'y parvient pas.

Ce que je fais

Quand je reçois mon json voici ce qu'il contient :

{ -priceWithoutTax: { currencyCode: "EUR" value: 18.37 text: "18.37 €" } billId: "FR31971591" orderId: 118662679 date: "2019-12-28T12:09:23+01:00" }

Par exemple si je veux récupérer la date je fais :

$resultbill["date"];

Ce que je veux

Comme expliqué avant, je ne connais pas la syntaxe pour récupérer par exemple la valeur "text" dans "priceWithoutTax".
Merci à vous.

4 réponses

Sam B., il y a 6 ans

Ce que tu tentes de faire :

$resultbill["date"];

ne permet pas d'accéder aux données JSON. Il faut d'abord convertir ton JSON afin de pouvoir le traiter. Pour cela, tu peux utiliser la method json_decode() :

$convertedData = json_decode($resultbill, true);

Le second paramètre indique que tu souhaites obtenir un associative array. Dès lors, tu peux traiter tes données comme tu le souhaites :

$priceText = $convertedData['priceWithoutTax']['text'];
Nicolas.L, il y a 6 ans

Bonjour,

Quand je fais

$resultbill["date"];

cela fonctionne, ça me retourne bien ma valeur "2019-12-28T12:09:23+01:00", car je t'explique plus précisement ce que je fais :

<?php require __DIR__ . '/vendor/autoload.php'; use \Ovh\Api; /** * Instanciate an OVH Client. * You can generate new credentials with full access to your account on * the token creation page */ $ovh = new Api( '*****', // Application Key '******', // Application Secret 'ovh-eu', // Endpoint of API OVH Europe (List of available endpoints) '*****'); // Consumer Key $id = $ovh->get('/me/bill'); foreach ($id as $element) { $resultbill = $ovh->get('/me/bill/' . $element. ''); echo $resultbill["date"]; } ?>

Actuelement je bosse sur les API d'OVH et $resultbill["date"]; me permet d'obtenir ce que je souhaite.

Nicolas.L, il y a 6 ans

Il semblerait car j'ai fait un copié collé de ce que l'on me retourne

Nicolas.L, il y a 6 ans

eh bien si merci, comme dit dans ma problématique, je ne connaissais juste pas la syntaxe.