Skip to content

Instantly share code, notes, and snippets.

@Naatan
Created November 11, 2011 20:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Naatan/1359214 to your computer and use it in GitHub Desktop.
Save Naatan/1359214 to your computer and use it in GitHub Desktop.
Converts multi dimensional array / object to single depth array
function flatten_array($array, $parents = '')
{
if ( !is_array($array) AND !is_object($array))
{
return array($parents . $array);
}
$array = (array) $array;
$flat = array();
foreach ($array AS $k => $v)
{
if (is_numeric($k))
{
$k = '';
$p = $parents;
} else
{
$p = $parents . $k . '.';
$flat[] = $parents . $k;
}
$flat = array_merge($flat,flatten_array($v,$p));
}
return $flat;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment