I would like to convert ($data):
Array
(
[login] => Log in
[logout] => Log out
[label] => Array
(
[email] => test@test.com
[name] => Some name
)
[controllers] => Array
(
[page] => Array
(
[title_new] => New page
[title_edit] => Edit page
[submit_button] => Submit page
)
)
)
To ($result):
Array
(
[login] => Log in
[logout] => Log out
[label[email]] => test@test.com
[label[name]] => Some name
[controllers[page][title_new]] => New page
[controllers[page][title_edit]] => Edit page
[controllers[page][submit_button]] => Submit page
)
The following code works "fine" :
$data = some_data;
$result = array();
foreach ($data as $k => $v) {
if (is_array($v))
foreach ($v as $_k => $_v)
if (is_array($_v))
foreach ($_v as $__k => $__v)
if (is_array($__v))
foreach ($__v as $___k => $___v)
$result[$k.'['.$_k.']['.$__k.']['.$___k.']'] = $___v;
else
$result[$k.'['.$_k.']['.$__k.']'] = $__v;
else
$result[$k.'['.$_k.']'] = $_v;
else
$result[$k] = $v;
}
It works "Fine" as in.. for a few levels it goes alright but if you need to go deeper it shows "Array" as the value. So I probably need some kind of recursion, but I have no clue how to get around that with PHP :(
Codereview can you help me!?

{}on those statements. That could be part of the reason this doesn't work right here. I've not looked through this to be sure though. – mseancole Aug 15 '12 at 21:21