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


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'];

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.

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

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