PHP Массив в формат JSON - PullRequest
       33

PHP Массив в формат JSON

0 голосов
/ 05 марта 2019

Я пытаюсь отформатировать мои PHP-массивы так, как мне нужно.

Вот каков результат:

 [
  {
    "Ryan": {
      "id": "5c7c9ef16f667",
      "quantity": "1"
    }
  },
  {
    "Paul": {
      "id": "5c7d888e14233",
      "quantity": "2"
    }
  }
]

Вот мой желаемый результат:

{
  "Ryan": {
    "id": "5c7c9ef16f667",
    "quantity": "as"
  },
  "Paul": {
    "id": "5c7d888e14233",
    "quantity": "asd"
  }
}

А вот мой код:

$tools = array();
foreach ($tool_names as $key=>$value) {
    $item = Item::find_by_name($value);
    $tools[] = array($item['name'] => ["id" => $item['id'], "quantity" => $tool_quantities[$key]]);
}

json_encode($tools);

Есть какие-нибудь идеи о том, как я могу изменить свой код, чтобы заставить мой массив работать таким образом?

1 Ответ

0 голосов
/ 05 марта 2019

Вам нужно изменить основной массив, а не вставлять в него новые массивы:

$tools = array();
foreach ($tool_names as $key=>$value) {
    $item = Item::find_by_name($value);
    $tools[$item['name']] = array("id" => $item['id'], "quantity" => $tool_quantities[$key]);
}

json_encode($tools);
...