PHP - Convert multidimensional array to 2D array with dot notation keys -


there plenty of tips , code examples out there of accessing php arrays dot notation, opposite. take multidimensional array this:

$myarray = array(     'key1' => 'value1',     'key2' => array(         'subkey' => 'subkeyval'     ),     'key3' => 'value3',     'key4' => array(         'subkey4' => array(             'subsubkey4' => 'subsubkeyval4',             'subsubkey5' => 'subsubkeyval5',         ),         'subkey5' => 'subkeyval5'     ) ); 

and turn (likely through recursive function):

$newarray = array(     'key1'                    => 'value1',     'key2.subkey'             => 'subkeyval',     'key3'                    => 'value3',     'key4.subkey4.subsubkey4' => 'subsubkeyval4',     'key4.subkey5.subsubkey5' => 'subsubkeyval5',     'key4.subkey5'            => 'subkeyval5' ); 

teh codez

$ritit = new recursiveiteratoriterator(new recursivearrayiterator($myarray)); $result = array(); foreach ($ritit $leafvalue) {     $keys = array();     foreach (range(0, $ritit->getdepth()) $depth) {         $keys[] = $ritit->getsubiterator($depth)->key();     }     $result[ join('.', $keys) ] = $leafvalue; } 

output

array (     [key1] => value1     [key2.subkey] => subkeyval     [key3] => value3     [key4.subkey4.subsubkey4] => subsubkeyval4     [key4.subkey4.subsubkey5] => subsubkeyval5     [key4.subkey5] => subkeyval5 ) 

demo: http://codepad.org/yiygqxtm

i need go, if need explanation of tomorrow, ask me.


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -