【发布时间】:2014-07-06 11:47:15
【问题描述】:
end(array_keys(array(0))) 说PHP Strict standards: Only variables should be passed by reference (http://3v4l.org/CNLVT)
另一方面,end((array_keys(array(0)))) 可以正常工作(http://3v4l.org/168fi)。为什么?
VLD 反编译器显示相同的操作码正在运行,唯一的区别在于 ext 列,但我找不到关于这意味着什么的文档。
【问题讨论】:
-
在 MySQL 中有一个类似的技巧,您不能从同一个表中更新一个表(see this answer - 答案的第二位),但它围绕评估数据的方式展开被通过。在它周围加上一组额外的括号会改变它的处理方式。这是关于直接来自函数的值而不是在括号内被视为它自己的实体的东西。
-
嘿,@NikiC,我正要这么做 ::D
标签: php