The example in this article describes the method that PHP recursively calls an array value and executes the specified function. Share to everyone for your reference. The specific analysis is as follows:
The following is the WordPress original code, in order to lazy, a simple change to apply other functions
/**
* Navigates through a array and removes slashes from the values.
*
If An array is passed, the Array_map () function causes a callback to pass the
"* Value back to" function. The slashes from this value is removed.
* *
@since 2.0.0
* *
@param mixed $value The value to be stripped.
* @return Mixed stripped value.
*/
function Stripslashes_deep ($value) {
if (Is_array ($value)) {
$value = Array_map (' Stripslashes_ Deep ', $value);
} ElseIf (Is_object ($value)) {
$vars = Get_object_vars ($value);
foreach ($vars as $key => $data) {
$value->{$key} = Stripslashes_deep ($data);
}
} elseif (is_string ($value)) {
$value = stripslashes ($value);
}
return $value;
}
The code is as follows:
<?php function Function_deep ($function, $value) {try {if (!function_exists ($function)) {$error = ' "'. $fun
ction. ' is undefined ';
throw new Exception ($error);
} catch (Exception $e) {echo ' Caught Exception: ', $e->getmessage (), \ n;
Die ();
} if (Is_array ($value)) {$fun = array ();
For ($i =1 $i <=count ($value); $i + +) {$fun [] = $function;
} $value = Array_map ("Function_deep", $fun, $value);
} elseif (Is_object ($value)) {$vars = Get_object_vars ($value);
foreach ($vars as $key => $data) {$value->{$key} = Function_deep ($function, $data);
} elseif (Is_string ($value)) {$value = Call_user_func ($function, $value);
return $value;
$arr = Array ("I ' M bean", "I ' M bean", Array ("I ' M bean", "I ' M Bean"));
Var_dump (Function_deep ("Addslashes", $arr)); Output result/Array (size=3)//0 => string ' i\ ' m bean ' (length=9)//1 => string ' i\ ' m bean ' (length=9)//2 =>
Array (size=2)//0 => string ' i\ ' m bean ' (length=9)//1 => string ' i\ ' m bean ' (length=9)?>
I hope this article will help you with your PHP programming.