年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1844|回复: 1

借用系统函数进行回调函数实现

[复制链接]
  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2015-12-28 15:22:28 | 显示全部楼层 |阅读模式
    [PHP] 纯文本查看 复制代码
    <?php
        // 变量函数:将变量加括号即为以该变量为名称的函数
        // 回调函数:以函数名为变量传入另一个函数做为变量调用,即为回调函数
        function demo($num, $n){
            for ($i = 0; $i < $num; $i++){
    	        // 相当于调用函数名为$n值的函数,参数为只有$i一个参数的数组
    	        // 相比变量函数$n($i)进行回调
                if (call_user_func_array($n, array($i))) continue;
                echo $i.'<br/>';
            }
        }
         
        // 过滤以5结尾的数字
        function test($i){
            if ($i % 5 == 0) return true;
            return false;
        }
         
        // 过滤带3的数字
        function test1($i){
            // 正则表达式 preg_match(string $pattern, string subject)
            if (preg_match('/3/', $i)) return true;
            else return false;
        }
         
        // 过滤回旋数
        function test2($i){
            if ($i == strrev($i)) return true;
            else return false;
        }
        
        demo(100, "test2");
         

  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-12-28 15:24:24 | 显示全部楼层
    call_user_func_array(callback $function, array $param_arr)
    为系统函数
    第一个参数为函数名称字符串,第二个参数为参数数组

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-11-21 23:31 , Processed in 0.045570 second(s), 19 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表