PHP array invocation and function execution methods

Source: Internet
Author: User
This article mainly introduced the PHP recursive call array value and the method of executing the specified function, involving the PHP array call and function execution skills, with a certain reference value, the need for friends can refer to the following

The example in this article describes the method by which PHP recursively invokes an array value and executes the specified function with it. The specific analysis is as follows:

The following is the original WordPress code, in order to lazy, simple modification to apply other functions

/*** navigates through an array and removes slashes from the values.** If A array is passed, the Array_map () function Cau Ses a callback to pass the* value back to the function. The slashes from this value would removed.** @since 2.0.0** @param mixed $value The value to be stripped.* @return mixed St Ripped 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)?> 

Summary : The above is the entire content of this article, I hope to be able to help you learn.

Related recommendations:

Methods of recursive traversal and renaming of files by PHP

PHP template and JS upload plug-in combination to implement a non-flush upload method

PHP Digital and digital Operation verification Code

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.