• PHP关于函数的参数问题


    可能是自己以前写程序太规范了,今天发现个PHP函数参数个数的问题,定义的函数有三个参数,但是使用函数的时候竟然传了四个参数,更意外的是程序运行没有错误,甚至没有警告。于是依靠搜索引擎和PHP文档仔细查看了下。PHP内置了几个关于函数参数的函数。

    func_get_arg(int $arg_num)//获取传递的第 $arg_num 个参数,从0开始索引。

    func_get_args()//获取传递参数的列表,以二维数组返回。

    func_num_args()//返回传递给参数的个数

    因为有了上面三个函数,即时定义函数的时候没有定义参数列表。实际调用函数的时候也不会出错,可以通过上面的三个函数接收参数。

    function myfun($name, $value='') {
        $args = func_get_args();
        var_dump($args);
        var_dump(func_get_arg(0));
        echo 'Number of arguments is:', func_num_args(), '<br />';
        echo 'I am function<br />';
    }
    
    myfun(12, 22, 36);
    
    输出结果为:
    E:websitewwwinfo.php:13:
    array (size=3)
      0 => int 12
      1 => int 11
      2 => int 323
    E:websitewwwinfo.php:14:int 12
    Number of arguments is:3
    I am function

    尽管如此,还是推荐按更标准的格式定义函数,让使用函数的用户明白各个参数的含义,传递参数的数据类型。

  • 相关阅读:
    【笔记】【dp模型】
    【刷题】【dp】【背包】金明的预算
    建模结束了——5.3
    HDU
    洛谷 P2734 [USACO3.3]游戏 A Game
    洛谷 P4095 [HEOI2013]Eden 的新背包问题
    洛谷 P1156 垃圾陷阱
    洛谷 P1833 樱花
    洛谷 P3966 [TJOI2013]单词
    洛谷 P5357 【模板】AC自动机(二次加强版)
  • 原文地址:https://www.cnblogs.com/wayne173/p/5995872.html
Copyright © 2020-2023  润新知