Trim array (recursive)
Cleans a entire array recursivly.
Author:
Jonas
License:
Public Domain
Language:
PHP
Created:
03/28/2006
Updated:
10/01/2007
Tags:
array functions, string functions
/** * Trims a entire array recursivly. * * @author Jonas John * @version 0.2 * @link http://www.jonasjohn.de/snippets/php/trim-array.htm * @param array $Input Input array */ function TrimArray($Input){ if (!is_array($Input)) return trim($Input); return array_map('TrimArray', $Input); } /* Old version (v0.1): function TrimArray($arr){ if (!is_array($arr)){ return $arr; } while (list($key, $value) = each($arr)){ if (is_array($value)){ $arr[$key] = TrimArray($value); } else { $arr[$key] = trim($value); } } return $arr; } */
$DirtyArray = array( 'Key1' => ' Value 1 ', 'Key2' => ' Value 2 ', 'Key3' => array( ' Child Array Item 1 ', ' Child Array Item 2' ) ); $CleanArray = TrimArray($DirtyArray); var_dump($CleanArray); /* Result will be: array(3) { ["Key1"]=> string(7) "Value 1" ["Key2"]=> string(7) "Value 2" ["Key3"]=> array(2) { [0]=> string(18) "Child Array Item 1" [1]=> string(18) "Child Array Item 2" } } */
Feel free to leave a message:
Add a comment
function array_map_r($func, $arr)
{
return is_array($arr) ? array_map('array_map_r', array_fill(0, count($arr), $func), $arr) : call_user_func($func, $arr);
}
Then just call:
array_map_r("trim", $arr);
function trim_r($arr)
{
return is_array($arr) ? array_map('trim_r', $arr) : trim($arr);
}
array_map('trim', $arr);