欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-17 18:10:50
...

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

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

$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)

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/977617.htmlTechArticlePHP递归调用数组值并用其执行指定函数的方法 以下为wordpress原代码,为了偷懒,简单修改一下以适用其它函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1...
PHP递归调用数组值并用其执行指定函数的方法_PHP教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频