网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 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 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;
    }
    代码如下:
    <?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)
    ?>
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/13 8:49:56