Как я могу извлечь этот ключ один из этого многомерного ассоциативного массива - PullRequest
0 голосов
/ 22 апреля 2019

Как мне извлечь значения массива "attribute" из этого многомерного массива?

$json ='[
      {
        "attributes": [
          {
            "attributeID": 3216,
            "attributeValue": "white",
            "skuImageUrl": "image.jpg"
          },
          {
            "attributeID": 450,
            "attributeValue": "S",
            "attributeDisplayName": "gray"
          }
        ],
        "cargoNumber": "",
        "amountOnSale": 446,
        "skuCode": "3740158232110",
        "skuId": 3740158232110,
        "specId": "94d1d179497744028aa76873afdeba62",
        "consignPrice": 18.5
      },
      {
        "attributes": [
          {
            "attributeID": 3216,
            "attributeValue": "Walking",
            "skuImageUrl": "ball.jpg",
            "attributeDisplayName": "waiting"
          },
          {
            "attributeID": 450,
            "attributeValue": "M",
            "attributeDisplayName": "stay"
          }
        ],
        "cargoNumber": "",
        "amountOnSale": 0,
        "skuCode": "3740158232111",
        "skuId": 3740158232111,
        "specId": "cef93beef156f1799e736c649f36efae",
        "consignPrice": 18.5
      }
]'

Я пытался использовать циклы for, но я запутался.Решил попробовать циклы foreach, но в итоге оказался более запутанным.Пожалуйста, как мне этого добиться?Я имею в виду использование только массива атрибутов из цикла.

1 Ответ

1 голос
/ 22 апреля 2019

Попробуйте:

$jsonD = json_decode($json);
var_dump($jsonD[0]->attributes);

array(2) {
  [0]=>
  object(stdClass)#1 (3) {
    ["attributeID"]=>
    int(3216)
    ["attributeValue"]=>
    string(5) "white"
    ["skuImageUrl"]=>
    string(9) "image.jpg"
  }
  [1]=>
  object(stdClass)#2 (3) {
    ["attributeID"]=>
    int(450)
    ["attributeValue"]=>
    string(1) "S"
    ["attributeDisplayName"]=>
    string(4) "gray"
  }
}

foreach($jsonD[0]->attributes as $attribute){
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...