@Us59

Как вытащить данные?

Входные данные:
spoiler
{"info":{"Reasons":[{"reason":"Number 1","code":"N1"}],"OtherReasons":[{"reason":"Number 2","code":"N2"},{"reason":"Number 3","code":"N3"}],"proInfo":{"proCode":"CODE","name":"NAME","slug":"SLUG","category":"INFO","subcategory":"INFO2","dateAdded":"2018-04-26T00:00:00.000Z","rank":0,"description":"DESCRIPTION","details":[{"content":"HD","header":"Display"},{"content":"12MP","header":"Camera"},{"content":"CONTENT","header":"Processor"}],"variants":[{"skuCode":"CODE","images":{"primary":{"alt":"ALT","url":"URL HERE","type":"PRIMARY"},"hero":{"alt":"ALT","url":null,"type":"HERO"},"alternate":[]},"color":{"name":"Silver"},"capacity":"1GB","currency":null,"currencyString":null,"prices":[{"id":"ONETIME","originalPrice":"0.00","promotionalValue":"250.00","promotionalType":"GIFT_CARD","term":1},{"id":"RECURRING","originalPrice":"0.00","promotionalValue":"250.00","promotionalType":"GIFT_CARD","term":24}],"status":"OUT_OF_STOCK","dateAdded":"2018-04-26T00:00:00.000Z","availabilityDate":"2018-04-26T00:00:00.000Z","catalogItemId":"8730308"}]}},"messages":[]}


Нужно вытаскивать данные:
Reasons
OtherReasons
proInfo-->name
capacity
color-->name

Суть в том, что иногда, например поле OtherReasons может быть, но в нем могут отсутствовать данные и я должен сделать "else" и написать что N/A или что-то такое. Подскажите как реализовать?

Вот как делаю:

spoiler
$array = json_decode($result, true);


        foreach ($array as $key) {
            if (!empty($key["Reasons"])) {
                foreach ($key["Reasons"] as $value) {
                    if ($value["reason"] == 'Number 1') {


                    }
                }
            }

            if (!empty($key["OtherReasons"])) {
                foreach ($key["OtherReasons"] as $value) {
                    if ($value["reason"] == 'Number 2') {


                    }
                }
            }
            
            if (!empty($key["proInfo"]["name"])) {
                $name = $key["product"]["name"];
            }

            if (!empty($key["product"]["proInfo"])) {
                foreach ($key["product"]["proInfo"] as $key) {
                    $REPLY = "Info: " . $name . " " . $key["capacity"] . " " . $key["color"]["name"] . "";

                }
            }
        }
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вы, друзья мои, совсем обленились.
site:toster.ru php вытащить данные из json
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы