zoukankan      html  css  js  c++  java
  • func_get_args,与func_num_args的使用

    发现函数来自TP5
    /**
    * 命名范围
    * @access public
    * @param string|array|Closure $name 命名范围名称 逗号分隔
    * @param mixed ...$params 参数调用
    * @return Model
    */
    public static function scope($name)
    {
    if ($name instanceof Query) {
    return $name;
    }
    $model = new static();
    $params = func_get_args();
    $params[0] = $model->db();
    if ($name instanceof Closure) {
    call_user_func_array($name, $params);
    } elseif (is_string($name)) {
    $name = explode(',', $name);
    }
    if (is_array($name)) {
    foreach ($name as $scope) {
    $method = 'scope' . trim($scope);
    if (method_exists($model, $method)) {
    call_user_func_array([$model, $method], $params);
    }
    }
    }
    return $model;
    }}

    以下介绍来自:http://blog.sina.com.cn/s/blog_816cdc2301014rvt.html

    func_get_args是获取方法中参数的数组,返回的是一个数组,
    func_num_args一般写在方法中,用于计数;
    使用方法如下:
    function foo($a='gg',$b='kk'){

        $numargs = func_num_args();

         echo "Number of arguments: $numargs<br /> ";
         if ($numargs >= 2) {
             echo "Second argument is: " . func_get_arg(1) . "<br /> ";
         }
        $arg_list = func_get_args();
         for ($i = 0; $i < $numargs; $i++) {
             echo "Argument $i is: " . $arg_list[$i] . "<br /> ";
         }
    }

    foo(1, 2);
    输出内容为:
    Number of arguments: 2
    Second argument is: 2
    Argument 0 is: 1
    Argument 1 is: 2
  • 相关阅读:
    ReportMachine打印条形码的问题
    性能测试基础知识
    jmeter请求参数中文乱码及无法读取CSV文件解决办法
    soapui学习
    java环境变量和查看安装路径
    python字典中显示中文
    Jmeter做webservices接口测试
    windows 上robot framework 读取sqlite3提示:OperationalError: unable to open database file错误
    c++ 复习练习
    笔记草稿。
  • 原文地址:https://www.cnblogs.com/donaldworld/p/6436218.html
Copyright © 2011-2022 走看看