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
Post a Comment