初学PHP,对PHP方法的参数有挺多疑问,比如在不同的PHP 页面中都调用了某一个类的方法如下:
 ClassA::FunctionA('name', $value);而在类ClassA中有这样的方法:
static public function FunctionA($a=null,$b=array(),$c='id')为什么参数目不一样,类型也不一样,还有$a=null,$b=array(),$c='id'是指什么?指定类型?指定默认值? 有点晕

解决方案 »

  1.   

    函数调用,参数未设置时候的默认值function test($str = '', $type = 'type')
    {
    echo $str . $type . '<br />';
    }
    test();//打印了 type
    test('str');//打印了strtype
    test('string', 'other');//打印了stringother
      

  2.   

    static public function FunctionA($a=null,$b=array(),$c='id')
    有的参数有默认值,不传也可以。所以数目不一定。
    但不同的时候要遵守顺序。
    $a=null,$b=array(),$c='id'
    都是指值。
    类型也不一样
    php是弱语言,会自动转化为对应的类型。
      

  3.   

    +++$a=null,$b=array(),$c='id'  这三个参数每个参数都设置了默认值,php中有默认值的参数的函数在调用的时候可以不用传参(在你不想重新传参数(非默认)的时候)
    因为php是弱类型语言,所以用户不必特意指定变量的类型,在计算的时候它会自动转换类型的