Intereting Posts
Как отключить магические кавычки на общем хостинге? Codeigniter не смог открыть разрешение на поток при загрузке изображений В PHP найдите повторяющуюся запись в многомерном массиве, затем суммируйте значения в определенном ключе этого массива Простой сценарий рандомизации A / B с PHP Перемещение Вход или Регистрация Ссылка на верхние ссылки в навигации по заголовку – Magento Неужели это неправильно, если не использовать сеттеров и геттеров? Печать ключей массива NetSuite – поиск PHP для получения более 1000 записей PHP mysql ищет несколько таблиц с помощью ключевого слова Объедините 2 массива в третий массив с непостоянными уникальными ключами из одного массива Перенос физического пути в VIrtual Path в PHP Выпадающее окно не должно работать в codeigniter запускать другой скрипт, когда установлен флажок Как получить доступ к вложенным массивам из json_decode в PHP? Предупреждение: mail () : Не удалось подключиться к почтовому серверу

JSON для PHP Ассоциативный массив

кто-нибудь из вас знает хороший способ поместить это в ассоциативный массив. Я попробовал json_decode но нашел, что это не поможет.

Это данные, которые мне нужно ввести в ассоциативный массив:

  { "data": [ { "name": "Joe Bloggs", "id": "203403465" }, { "name": "Fred Bloggs", "id": "254706567" }, { "name": "Barny Rubble", "id": "453363843" }, { "name": "Homer Simpson", "id": "263508546" } ] } 

РЕДАКТИРОВАТЬ:

После того, как я принял ответ, я вспомнил, почему я думал, что json_decode не работает.

Вместо того, чтобы иметь такой ассоциативный массив:

 [0] => Array ( [name] => Joe Bloggs [id] => 203403465 ) 

Я хотел такого типа:

 Array ( [Joe Bloggs] => 45203340465 [Fred Bloggs] => 65034033446 ) 

К сожалению, в то время я забыл об этом. Но в любом случае я решил проблему.

Спасибо за всю твою помощь!

Related of "JSON для PHP Ассоциативный массив"

i asume ваш json приходит через ajax …. (иначе код работает с json_decode), поэтому убедитесь, что js json stringifys ваш объект и

вам понадобится stripslashes перед json_decode 😉 в php

json_decode работает для меня по вашим данным:

 print_r(json_decode('{ "data": [ { "name": "Joe Bloggs", "id": "203403465" }, { "name": "Fred Bloggs", "id": "254706567" }, { "name": "Barny Rubble", "id": "453363843" }, { "name": "Homer Simpson", "id": "263508546" } ] } ', true)); 

Вывод:

 Array ( [data] => Array ( [0] => Array ( [name] => Joe Bloggs [id] => 203403465 ) [1] => Array ( [name] => Fred Bloggs [id] => 254706567 ) [2] => Array ( [name] => Barny Rubble [id] => 453363843 ) [3] => Array ( [name] => Homer Simpson [id] => 263508546 ) ) ) 

Установка второго аргумента в true возвращает ассоциативный массив.

Вы должны создать новый массив

 $json_array = json_decode($_POST['json'], true); $assoc_array = array(); for($i = 0; $i < sizeof($json_array); $i++) { $key = $json_array[$i]['name']; $assoc_array[$key] = $json_array[$i]['value']; } 

вы получите свой ассоциативный массив в $ assoc_array, и теперь вы можете напрямую обращаться с помощью индексов.