Chcę zrobić wyświetlacz, który pokazuje przychody mojego sklepu internetowego. Używam zakupów i dostęp do moich danych w pliku JSON za pomocą ich interfejsu API i wygląda tak:

{"orders":[{
"id":2873739739288,
"email":"example@gmail.com",
----- many more lines -----
"total_price":"29.95"
}]}

Muszę uzyskać wartość Total_Price z tej części. Obecnie używam tego skryptu, ale nie mam wyników.

<?
$json = file_get_contents('https://MYUSERNAME:MYPASSWORD@MYSHOPNAME.myshopify.com/admin/api/2020-10/orders.json?limit=5');
$obj = json_decode($json);
echo $obj->total_price;
?>

Więc jak mogę go odzyskać przez PHP? W tej chwili po prostu dostaję pustą stronę.

0
Laurenz 21 listopad 2020, 11:48

1 odpowiedź

Najlepsza odpowiedź

total_price nie jest właściwością $obj, ale elementu w tablicy orders. Aby uzyskać dostęp do tej właściwości, musisz przejść do właściwego poziomu:

$json = '{"orders":[{
"id":2873739739288,
"email":"example@gmail.com",
"total_price":"29.95"
}]}';

$obj = json_decode($json);
echo $obj->orders[0]->total_price; // This will output 29.95.

W tej ostatniej linii $obj->orders[0] jest używany do uzyskania obiektu orders z obiektu i tej właściwości orders (która jest tablicą), używasz pierwszej pozycji tablicy z { {X3}}. Pamiętaj, że pierwszy element tablicy ma klucz 0, a nie 1, ponieważ macierze w PHP (jak w prawie wszystkich językach programowania, które wierzę) są zerowe (zwane również zero indeksowaną), co oznacza Zaczynasz liczyć od zera. Wreszcie, na pierwszym elemencie twojej tablicy (który jest inny obiekt), dla którego chcesz uzyskać dostęp total price, dla którego używasz ->total_price.

1
Dirk J. Faber 21 listopad 2020, 12:31