Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Преобразование массива
Для любой вложенности но без контроля ошибок во входной последовательности.
----- PostgreSQL DBA
LIME
Отправлено: 05 Августа, 2017 - 23:18:33
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
зависит от задачи
имхо тут большее зло регулярки чем eval
всмысле нафига
я за более простую описательность кода в данном случае (Добавление)
ну если уж совсем против евала то почему бы не json_decod после небольшой переделки данных
вариант? Мелкий согласись это будет необычное но в чемто красивое и безопасное решение?)) ась?))
Мелкий
Отправлено: 05 Августа, 2017 - 23:42:34
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
регулярка или eval с точки зрения сопровождения кода - для меня вообще не вопрос, простая регулярка очень сильно проще.
Плюс регулярка безопасна для любых входных данных и не будет делать глупости. Да и для eval всё равно данные процессить предварительно, кавычки подставлять хотя бы, чтобы на константу не напороться и E_NOTICE не провоцировать, для top-level добавлять скобки. Многовато проблем вижу на ровном месте. А избегать регулярку ради регулярки - explode по [ и rtrim ] достаточный и забавный способ.
Или я туплю или до json тут формат ещё пилить и пилить.
Но сможешь сделать компактнее - вперёд, устроим кодгольф
----- PostgreSQL DBA
LIME
Отправлено: 05 Августа, 2017 - 23:48:53
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
насчет евала соглашусь
убедил
хотя опятьже мало инфы по задаче
в общем случае конечно зло и я прекрасно понимаю все минусы но в данном конкретном почему не да
---
по идее с json
меняем [] на точки
кавычки на двойные
=> на двоеточие
я ничего не забыл?
ну и вуаля
имхо есть в этом решении красота
описательно проще и без зла (Добавление)
найду время напишу
будет тебе подача)
жди
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.