public static function flatten($aArray, $aSeparator = '.') { $arr = array(); foreach ($aArray as $k => $v) { if (is_scalar($v)) { $arr[$k] = $v; } else { $arrarr = StructUtils::flatten($v, $aSeparator); foreach ($arrarr as $kk => $vv) { $arr[$k . $aSeparator . $kk] = $vv; } } } return $arr; }