function run() { echo 123;}$_a = 'aa';$_b = 'bb';run($_a,$_b); //第1行,函数在定义的时候,参数是空//第6行在调用的时候,在参数里随便写什么变量传进去,都不会报错,为什么会这样?//难道我的基础太差了吗
回复讨论(解决方案)
定义时的参数和调用时的参数不一致应该也有警告或是错误提示啊?
调用时参数数量不少于定义中没有默认值的参数数量就行了。
因为PHP 在用户自定义函数中支持可变数量的参数列表。
可以使用 func_num_args() , func_get_arg() ,和 func_get_args() 函数来调用参数。
定义时的参数和调用时的参数不一致应该也有警告或是错误提示啊?
不要想当然,不确定的可以查手册什么的去,或者自己去写代码测试,实践是检验真理的好办法。
提供的参数比函数规定的多时不会报错,少时才会报错
php编译器的手段吧,提高编码灵活性
如果想深究...看看php源码,甚至是汇编语言的子程序实现