Преобразование json в массив рекурсивным методом? ⇐ Php
Преобразование json в массив рекурсивным методом?
Я пытаюсь преобразовать строку json внутри массива в массив,
$config = массив( "type" => '{"category":"admin","page":"page"}', "сказать" => "Привет", "php" => массив( "сказать" => "нет", "type" => '{"category":"admin","page":"page"}', "гран" =>массив( "имя" => "Привет" ) ) ); Мой рабочий код
объективировать класс { публичная функция json_to_array($array, $recursive = true) { # если $array не является массивом, давайте сделаем его массивом с одним значением бывшего $array. если (!is_array($array)) $array = array($array); foreach ($array как $key => $value) { if($recursive === false) $array[$key] = (!empty($value) && is_string($value) && json_decode($value) != NULL) ? json_decode($value, true): $value; else $array[$key] = (!empty($value) && is_string($value) && json_decode($value) != NULL) ? json_decode($value, true): is_array($value)? self::json_to_array($array): $value; } вернуть $массив; } } Он отлично работает без рекурсивного метода, но ломается, когда я хочу выполнить рекурсивный, как вы можете видеть в моем коде выше,
р>
$object = новый objectify(); $config = $object->json_to_array($config); print_r ($ конфигурации); сообщение об ошибке,
Неустранимая ошибка: исчерпан разрешенный размер памяти 134217728 байт (попытка выделить 2048 байт) в C:\wamp\www\test\2012\php\set_variable.php в строке 79 Я просто хочу получить вот такой результат
Массив ( [тип] => Массив ( [категория] => администратор [страница] => страница ) [сказать] => Привет ( [сказать] => нет [type] => {"category":"admin","page":"page"} [гран] => Массив ( [имя] => Привет ) ) ) РЕДАКТИРОВАТЬ:
$config = 'type={"category":"admin","page":"page"}&text_editor={"name":"mce-basic"}&parent_id=self&subtitle=true&description=true&content_1= true&script_1=true&primary_image=true'; parse_str($config,$array); print_r ($ массив); результат
Массив ( [type] => {"category":"admin","page":"page"} [text_editor] => {"name":"mce-basic"} [parent_id] => сам [subtitle] => правда [описание] => правда [content_1] => правда [script_1] => верно [primary_image] => правда )
Я пытаюсь преобразовать строку json внутри массива в массив,
$config = массив( "type" => '{"category":"admin","page":"page"}', "сказать" => "Привет", "php" => массив( "сказать" => "нет", "type" => '{"category":"admin","page":"page"}', "гран" =>массив( "имя" => "Привет" ) ) ); Мой рабочий код
объективировать класс { публичная функция json_to_array($array, $recursive = true) { # если $array не является массивом, давайте сделаем его массивом с одним значением бывшего $array. если (!is_array($array)) $array = array($array); foreach ($array как $key => $value) { if($recursive === false) $array[$key] = (!empty($value) && is_string($value) && json_decode($value) != NULL) ? json_decode($value, true): $value; else $array[$key] = (!empty($value) && is_string($value) && json_decode($value) != NULL) ? json_decode($value, true): is_array($value)? self::json_to_array($array): $value; } вернуть $массив; } } Он отлично работает без рекурсивного метода, но ломается, когда я хочу выполнить рекурсивный, как вы можете видеть в моем коде выше,
р>
$object = новый objectify(); $config = $object->json_to_array($config); print_r ($ конфигурации); сообщение об ошибке,
Неустранимая ошибка: исчерпан разрешенный размер памяти 134217728 байт (попытка выделить 2048 байт) в C:\wamp\www\test\2012\php\set_variable.php в строке 79 Я просто хочу получить вот такой результат
Массив ( [тип] => Массив ( [категория] => администратор [страница] => страница ) [сказать] => Привет ( [сказать] => нет [type] => {"category":"admin","page":"page"} [гран] => Массив ( [имя] => Привет ) ) ) РЕДАКТИРОВАТЬ:
$config = 'type={"category":"admin","page":"page"}&text_editor={"name":"mce-basic"}&parent_id=self&subtitle=true&description=true&content_1= true&script_1=true&primary_image=true'; parse_str($config,$array); print_r ($ массив); результат
Массив ( [type] => {"category":"admin","page":"page"} [text_editor] => {"name":"mce-basic"} [parent_id] => сам [subtitle] => правда [описание] => правда [content_1] => правда [script_1] => верно [primary_image] => правда )
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Проблема с рекурсивным методом для извлечения подстроения между внешними скобками
Anonymous » » в форуме JAVA - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблема с рекурсивным методом для извлечения подстроения между внешними скобками
Anonymous » » в форуме JAVA - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-