Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to convert an one dimensional array to two dimensional array

I have the following array, coming from a form, with multilingual data like this:

Array
(
    [en_name] => ...........
    [en_description] => ...........
    [gr_name] => ...........
    [gr_description] => ...........
)

How can this array be converted into a two dimensional like:

Array
(
    [en] => Array
        (
            [name] => ...........
            [description] => ...........
        )

    [gr] => Array
        (
            [name] => ...........
            [description] => ...........
        )
)
like image 461
Nikos Avatar asked Sep 16 '26 22:09

Nikos


1 Answers

Use this code:

$finalArr = array();
foreach($arr as $key => $val) {
   $tok = explode('_', $key);
   $finalArr[$tok[0]][$tok[1]] = $val;
}
like image 134
anubhava Avatar answered Sep 18 '26 11:09

anubhava