最近在这里回答了几个涉及使用 PHPlist
函数的 SO 问题后,我想知道,“这个函数到底是如何在幕后工作的? ”。我正在考虑使用func_get_args()
然后遍历参数列表之类的东西,这一切都很好而且很漂亮,但是分配部分到底是如何工作的呢?
list(...) = array($x, $y, $z);
这 ^ 不是先评估的吗?
所以准确地说,我的问题是该list
函数如何能够创建分配给尚未评估的数组的范围变量?
list
是一种语言结构,而不是函数。它不遵循普通函数的规则,它更类似于一个if
或for
(或array()
,如手册所述),硬编码到 PHP 核心中。