Приветствую Вас Уважаемые форумчане. Я уже неделю пытаюсь решить задачу и у меня складывается такое впечатление, что я без Вас не справлюсь. Опишу задачу! Имеется JSON который передается браузером на сервер. Этот JSON нужно разобрать так, чтобы получить SQL запрос. Дело в том, что структура у данных всегда одна, а вот вложенность может быть больше или меньше! Сам JSON: Код (Text): [{ "5": [{ "248": [{ "777":"" }] }, { "249": [{ "251":"" }, { "250":"" }, { "252": [{ "400":"" }] }] }] }] Там где цифры - это значения, а название полей опишу ниже. Я помещаю этот JSON в json_decode и получаю массив, с которым далее нужно работать. После обработки массив, на выходе нужно получить следующий SQL Код (Text): district = 5 AND ((village = 248 AND street = 777) OR (village = 249 AND (street = 251 OR street = 250 OR (street = 252 AND house = 400)))) Там где district это первый уровень вложенности, village - второй, street - третий и т.д. Я пытался сделать так: Создал массив Код (Text): $tables = array("district","village","street","house"); и в зависимости от уровня вложенности подставлял значение. Структура у JSON всегда одна, а уровней вложенности, как я уже говорил, может быть больше или меньше. P.S. Я уже с ума схожу, и так и сяк пытаюсь сделать, у меня ничего не выходит. Может вы сможете дать мне, хотя бы, пендаль в правильное направление!
подсказываю, если вложенность не определена, решением может быть либо рекурсивный разбор, либо цикл foreach
Я пробовал использовать рекурсию. Собрать SQL запрос мне удалось, но проблема со скобками, не получается у меня задать алгоритм таким, чтобы скобки были проставлены правильно