This article mainly introduces PHP's method of recursively calling array values and using them to execute specified functions. it involves php array calling and function execution techniques and has some reference value, for more information about how to use PHP to call array values recursively, see the example in this article. Share it with you for your reference. The specific analysis is as follows:
The following is the original wordpress code. to be lazy, modify it to apply other functions.
/*** Navigates through an 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 the function. The slashes from this value will 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 = '"'. $ function. '"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 php programming.