<?php
$testArray = array ( 'user' => array ( 'name' => 'John', 'email' => 'test@example.org', 'prefs' => array ( 0 => '1', ), ), 'other' => array ( 'example' => array ( 'var' => 'foo', ), ), );
function toPlain($in,$track=null)
{
$ret = array();
foreach ($in as $k => $v) {
$encappedKey = $track ? "[$k]" : $k; /* If it's a root */
if (is_array($v)) $ret = array_merge($ret,toPlain($v,$track.$encappedKey));
else $ret = array_merge($ret,array($track.$encappedKey => $v));
}
return $ret;
}
print_r(toPlain($testArray));