<?php
    /** 声明回调函数filter,在0-100的整数中通过自定义条件过滤不要的数字
        @param  callback    $fun    需要传递一个函数名称字符串作为参数
    */
    function filter($fun){
        for($i=0; $i<=100; $i++){
            //使用系统函数call_user_func_array(),调用变量$fun值相同的函数
            if( call_user_func_array($fun, array($i)))
                continue;
            echo $i."<br>";
        }
    }
       
    /**声明一个函数one,如果参数是3的倍数就返回true,否则返回false
        @param  int $num    需要一个整数作为参数
    */
    function one($num){
        return $num%3 == 0;
    }
       
    /**声明一个函数two,如果参数是一个回文数(翻转后还等于自己的数)返回true,否则返回false
        @param  int $num
    */
    function two($num){
        return $num == strrev($num);
    }
       
    filter("one");
    echo "------------------------------<br>";
    filter("two");
?>