php函数foo(数组$ arg = NULL) - 为什么数组和NULL?

Dar*_*ein 9 php arguments casting function kohana

我最近见过几次:

 function foo(array $arg = NULL) { ... }
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么$arg NULL在将它投入数组时默认为什么?为什么不这样做:

 function foo(array $arg = array()) { ... }
Run Code Online (Sandbox Code Playgroud)

我知道它并没有太大的区别 - 它主要只是阅读代码 - 但为什么鼓励PHP一直在改变数据类型.

我在Kohana看过很多.

Col*_*ert 7

真正的问题是为什么在不需要时创建一个数组.

如果使用$ arg = array(),则会有一条特定的指令来创建一个数组,即使它是PHP的指令仍然消耗CPU周期.如果你只是做$ arg = NULL,那么什么都不会做.

  • 节省的费用可能微不足道.但是`array $ arg = NULL`确实允许参数为'NULL`,而`array $ arg = array()`如果参数为'NULL`则触发错误. (5认同)