<?php
$options = array();
$currentYear = 2012;
while($currentYear < (2012 + 3) ) {
$options[$currentYear++] = $currentYear;
}
var_dump($options);
?>
预期输出:
array(3) { [2012]=> int(2012) [2013]=> int(2013) [2014]=> int(2014) }
泛型理论:先执行一个赋值的RHS,然后将RHS值赋给LHS。它将在执行 RHS 之后在 LHS 中执行后增量。根据这个场景,我们可以如下解释迭代。
在第一次迭代中,RHS $currentYear 的值为 2012 并将该值分配给键为 2012 的数组选项。将变量 $currentYear 增加 1,然后继续迭代。在第二次迭代中,RHS $currentYear 的值为 2013 并将该值分配给键为 2013 的数组选项。将变量 $currentYear 增加 1,然后继续迭代。下面这个通用编程概念发生了什么?
实际输出:
array(3) { [2012]=> int(2013) [2013]=> int(2014) [2014]=> int(2015) }
如果有人能提出更好的解释,那就太好了,非常感谢。