最近我看过以下几次:
function foo(array $arg = NULL) { ... }
我的问题是为什么当默认值为$arg NULL时,它将被转换成数组?为什么不做:
function foo(array $arg = array()) { ... }
我知道它并没有太大的区别 – 它主要只是阅读代码,但是为什么鼓励PHP一直在改变数据类型.
我在Kohana见过很多.
真正的问题是为什么在不需要阵列时创建数组.
如果使用$arg = array(),将会有一个特定的指令来创建一个数组,即使PHP是一个指令仍然占用cpu周期.如果你只是做$arg = NULL,那么什么都不会做.