zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    算法(第四版)2.1 初级排序算法
    数据类型:数值
    数据类型:null, undefined 和布尔值
    数据类型:概述
    9.6 http中间件
    9.5 处理http 请求
    9.4 简单httpserver
    9.3 多客户端TCP
    9.2 udp server
    资源竞争
  • 原文地址:https://www.cnblogs.com/wayne173/p/5995872.html
Copyright © 2011-2022 走看看