Как преобразовать строку в многомерный массив на php?

Здравствуйте, есть такой текст

{{param1;{param2_array};param3;param4};{param5;{param6_array};param7;param8}}


В каждых фигурных скобках находятся массив данных и может быть любой длины, как можно преобразовать это в многомерный массив, чтобы в дальнейшем можно было обращаться к ним на php.

создал только 1 массив
$data = $array;
list($param1, $param2, $param3, $param4, $param5) = explode(";", $data);
echo $param1;


но когда данные строка стала такой

{{param1;{param2_array;param2_array;param2_array};param3;param4}}


значения сместились и при одномерном массиве я вывел не те данные которые нужно

Помогите

P.S я прошу прощения если не так назвал массивы или что-то еще
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
antoo
@antoo
Для парсинга строк кастомных форматов обычно используются свои парсеры. Подробнее об этом можно прочитать тут (помимо этой есть много других статей): https://habr.com/post/202622/.

Я сделал для вас его простейшую реализацию на PHP: https://3v4l.org/YTrNI
Возможно он потребует доработки, советую разобраться по каким принципам он работает, эти знания иногда могут быть полезными.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы