美文网首页
PHP-常用回调函数

PHP-常用回调函数

作者: real小辉侠 | 来源:发表于2016-03-31 13:19 被阅读0次

    1.匿名函数

    $message='hello';

    // 没有 "use"

    $example= function () {

    var_dump($message);

    };

    echo$example();

    // 继承 $message

    $example= function () use ($message) {

    var_dump($message);

    };

    echo$example();

    // Inherited variable's value is from when the function

    // is defined, not when called

    $message='world';

    echo$example();

    // Reset message

    $message='hello';

    // Inherit by-reference

    $example= function () use (&$message) {

    var_dump($message);

    };

    echo$example();

    // The changed value in the parent scope

    // is reflected inside the function call

    $message='world';

    echo$example();

    // Closures can also accept regular arguments

    $example= function ($arg) use ($message) {

    var_dump($arg.' '.$message);

    };

    $example("hello");

    ?>

    2.对象方法数组:

    function myfunction($value,$key,$p)

    {

    echo "$key $p $value
    ";

    }

    $a=array("a"=>"red","b"=>"green","c"=>"blue");

    array_walk($a,"myfunction","has the value");

    3.字符串函数名call_user_func

    functionbarber($type)

    {

    echo"You wanted a$typehaircut, no problem\n";

    }

    call_user_func('barber',"mushroom");

    call_user_func('barber',"shave");

    ?>

    4.脚本执行完后 回调函数

    register_shutdown_function()这个函数,能够在脚本终止前回调注册的函数,也就是当 PHP 程序执行完成后执行的函数。

    register_shutdown_function 执行机制是:PHP把要调用的函数调入内存。当页面所有PHP语句都执行完成时,再调用此 函数。注意,在这个时候从内存中调用,不是从PHP页面中调用,所以上面的例子不能使用相对路径,因为PHP已经当原来的页面不存在了。就没有什么相对路 径可言。

    functionshutdown()

    {

    echo'Script executed with success',PHP_EOL;

    }

    register_shutdown_function('shutdown');

    ?>

    5.数组排序回调

    functioncmp($a,$b)

    {

    if ($a==$b) {

    return0;

    }

    return ($a<$b) ? -1:1;

    }

    $a= array(3,2,5,6,1);

    usort($a,"cmp");

    foreach ($aas$key=>$value) {

    echo"$key:$value\n";

    }

    ?>

    6.正则回调

    echopreg_replace_callback('~-([a-z])~', function ($match) {

    returnstrtoupper($match[1]);

    },'hello-world');

    // 输出 helloWorld

    ?>

    相关文章

      网友评论

          本文标题:PHP-常用回调函数

          本文链接:https://www.haomeiwen.com/subject/azmelttx.html