PHP递归调用数组值并用其执行指定函数的方法

 以下为wordpress原代码,为了偷懒,简单修改一下以适用其它函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

/**
* 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;
}

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

<?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));
// 输出结果
// 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)
?>

时间: 2024-10-27 17:19:05

PHP递归调用数组值并用其执行指定函数的方法的相关文章

PHP递归调用数组值并用其执行指定函数的方法_php技巧

本文实例讲述了PHP递归调用数组值并用其执行指定函数的方法.分享给大家供大家参考.具体分析如下: 以下为wordpress原代码,为了偷懒,简单修改一下以适用其它函数 /** * 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 t

JavaScript实现当网页加载完成后执行指定函数的方法_javascript技巧

本文实例讲述了JavaScript实现当网页加载完成后执行指定函数的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码演示了如何在网页加载完成时调用指定的函数,并且可以通过第二段代码动态添加多个函数同时执行. 我们只需要给window.onload指定一个函数既可以在页面加载完成时自动执行MyCoolInitFunc函数 <script type="text/javascript" > window.onload = MyCoolInitFunc </scri

python定时执行指定函数的方法

  本文实例讲述了python定时执行指定函数的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 # time a function using time.time() and the a @ function decorator # tested with

JS随机调用指定函数的方法

  本文实例讲述了JS随机调用指定函数的方法.分享给大家供大家参考.具体如下: 本代码通过随机定时器调用指定函数,可达到间隔随机时间之行指定的函数的目的 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 function randRange(data) { var newTime = data[Math.floor(data.length * Math.random())]; return newTime; } function toggleSomething() { var ti

JS动态插入并立即执行回调函数的方法_javascript技巧

本文实例讲述了JS动态插入并立即执行回调函数的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

JS随机调用指定函数的方法_javascript技巧

本文实例讲述了JS随机调用指定函数的方法.分享给大家供大家参考.具体如下: 本代码通过随机定时器调用指定函数,可达到间隔随机时间之行指定的函数的目的 function randRange(data) { var newTime = data[Math.floor(data.length * Math.random())]; return newTime; } function toggleSomething() { var timeArray = new Array(200, 300, 150,

Powershell在一个会话中只允许执行指定命令的方法_PowerShell

支持所有PS版本 Powershell处理可执行程序(如EXE)类似其它语言.然而你也可以让PS阻止执行任何程序或仅允许执行授权文件. 默认是允许执行任何程序: 复制代码 代码如下: PS> $ExecutionContext.SessionState.Applications * 下面将授权PS只允许执行ping.exe和regedit.exe命令. 复制代码 代码如下: $ExecutionContext.SessionState.Applications.Clear() $Executio

php数组的遍历函数与方法例子

1. 使用for语句循环遍历数组 a. 其它语言(只有这一种方式) b. PHP中这种方式不是我们首选方式 c. 数组必须是索引数组,而且下标还必须是连续的 索引数组下标还可以不连序,数组还有关联数组)  代码如下 复制代码 < ?php /* * 我们想要在遍历的过程中改变以下数组中某些元素的值 */ $people = Array( Array('name' => 'Kalle', 'salt' => 856412), Array('name' => 'Pierre', 'sa

iframe里面的页面调用父窗口,左右窗口js函数的方法

iframe里面的页面调用父窗口,左右窗口js函数的方法 实现iframe内部页面直接调用该iframe所属父窗口自定义函数的方法. 比如有A窗口,A内有个IFRAME B,B里面的装载的是C页面,这时C要直接调用A里面的一个自定义函数AFUN(); 那么只要在C页面中写如下JS函数就可以了: window.parent.AFUN(); 如果AFUN()有参数也可以直接传递合适的参数进去. 例如: 修改父窗口控件属性 window.parent.document.getElementById('