Я ищу способ синтаксического анализа строк в массиве в массив, который имеет шаблон, аналогичный тому, как CakePHP обрабатывает данные POST. Или даже функцию в CakePHP, которая это сделает.
ОБНОВЛЕНО:
Текущий массив:
array(
'data[callers]' => (int) 4,
'data[status]' => 'Unknown',
'data[country_id][107]' => (int) 1,
'data[country_id][150]' => (int) 0
)
Желаемый результат:
array(
'callers' => (int) 4,
'status' => 'Unknown',
'country_id' => array(
(int) 107 => (int) 1,
(int) 150 => (int) 0
)
)
Целью является сохранение сериализованных данных формы, которые впоследствии могут быть переданы функции PHP без необходимости POST данных из браузера.
Данные поступают из формы, которая была сериализована и сохранена в базе данных. CakePHP генерирует входные имена в форме с такими скобками: data[country_id][107]
и внутри контроллера вы можете получить к ним доступ вот так $this->request->data['country_id']['107']
Но когда я сериализую форму с помощью javascript и сохраняю необработанную строку JSON в базе данных, мне нужен способ превратить ее в массив, как это делает CakePHP.
debug()
. Глядя на текущий массив, трудно сказать, являетесь ли вы просто творческим или предполагается, что значения в левой части напоминают простые строковые клавиши. Также поможет знание контекста, т. е. откуда исходный массив? - person ndm   schedule 20.04.2017