(也许这个问题以前已经问过了,但是我找不到)
如果在PHP中有一个带默认值的参数在一个不带默认值的参数之前会发生什么?就像这样:
function myfunction($foo = 12, $bar) {
...
}
- PHP是否给出错误,如果是,在哪个错误报告级别?
- 当你只使用一个参数调用
myfunction("hello")
时会发生什么?
是的,它将输出一个警告,而不是一个错误,即:
Warning: Missing argument 2 in call to myfunction() in FILE on line LINENO
如果您调用myfunction("hello")
, $bar
是未定义的,因此它将是一个空字符串或NULL,并且$foo = "hello"
。它只会发出一个警告,所以你的脚本仍然会执行。
你为什么不改变参数的顺序呢?
Edit:这里有一个很好的解释为什么在PHP中不可能重载独立函数:PHP函数重载