public
Created

PHP function to clean an array recursively

  • Download Gist
php_clean_function.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
function clean(&$arr)
{
if (is_array($arr))
{
foreach ($arr as $i => $v)
{
if (is_array($arr[$i]))
{
clean($arr[$i]);
if (!count($arr[$i]))
{
unset($arr[$i]);
}
}
else
{
if ('' == trim($arr[$i]) OR is_null($arr[$i]))
{
unset($arr[$i]);
}
}
}
 
if (!count($arr))
{
$arr = array();
}
else
{
$keys = array_keys($arr);
 
$is_numeric = TRUE;
 
foreach ($keys as $key)
{
if (!is_numeric($key))
{
$is_numeric = FALSE;
break;
}
}
 
if ($is_numeric)
{
$arr = array_values($arr);
}
}
}
}

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.