Как бы вы преобразовали мономерный массив в многомерный массив в PHP? Предположим, что у вас есть что-то вроде этогоПреобразование мономерного массива PHP в многомерное
$array['breakfast'] = 'milk';
$array['meal.firstdish'] = 'pasta';
$array['meal.seconddish.maincourse'] = 'veal';
$array['meal.seconddish.dressing'] = 'fries';
$array['meal.dessert'] = 'pie';
И вы хотите, чтобы функция, чтобы превратить его в
$array['breakfast'] = 'milk';
$array['meal']['firstdish'] = 'pasta';
$array['meal']['seconddish']['maincourse'] = 'veal';
$array['meal']['seconddish']['dressing'] = 'fries';
$array['meal']['dessert'] = 'pie';
Та же функция, конечно, должен преобразовать
$tire['ean'] = '3286347717116';
$tire['brand.maker'] = 'BRIDGESTONE';
$tire['brand.model.name'] = 'POTENZA';
$tire['brand.model.variant'] = 'RE 040 RFT * SZ';
в
$tire['ean'] = '3286347717116';
$tire['brand']['maker'] = 'BRIDGESTONE';
$tire['brand']['model']['name'] = 'POTENZA';
$tire['brand']['model']['variant'] = 'RE 040 RFT * SZ';
I думал об использовании взрыва, а затем оценивал результаты, но eval всегда чувствует, как обманывать меня, и я думаю, что это не позволит моему коду работать в HipHop.
Причина, по которой я хочу сделать это, заключается в том, что мне нужно экспортировать множество разных таблиц из базы данных в файлы XML, и у меня уже есть надежная функция, которая превращает многомерный массив в XML.
Пожалуйста, измените код. Вам не хватает много. Посмотрите на _ ['meal.firstdish] _ должен быть _ [' meal.firstdish '] _, а также _ [' meal '] [' firstdish] _ –
Кроме того, что вы пробовали? – Epodax
Как я уже сказал, я думал, что буду делать a while (list ($ keys, $ value) = each ($ array)) { \t $ individualKeys = explode ('.', $ Keys); \t eval ("\ $ newarray ['". Implode ("'] ['", $ individualKeys). "'] = '$ Value';"); \t} ' –