function testArrayMapRecursive() { $arr = array(1, 'apple' => 2, 'basket' => array('chips' => 3, 'nachoes' => 4)); $f = create_function('$v', 'return $v + 1;'); lmbArrayHelper::arrayMapRecursive($f, $arr); $this->assertEqual($arr, array(2, 'apple' => 3, 'basket' => array('chips' => 4, 'nachoes' => 5))); }
static function arrayMapRecursive($in_func, &$in_array) { foreach (array_keys($in_array) as $key) { $value =& $in_array[$key]; if (is_array($value)) { lmbArrayHelper::arrayMapRecursive($in_func, $value); } else { $value = call_user_func_array($in_func, array($value)); } } return $in_array; }