$GLOBALS["items"] = array('one', 'two', 'three', 'four', 'five' ,'six', 'seven');
$alter = &$GLOBALS["items"]; // Comment this line
foreach($GLOBALS["items"] as $item) {
echo get_item_id();
}
function get_item_id(){
var_dump(key($GLOBALS["items"]));
}
Проверьте вывод этого кода с прокомментированной и несогласованной второй строкой. Мой результат (PHP 5.3.0). Со второй строкой
int(1) int(2) int(3) int(4) int(5) int(6) NULL
Без второй строки:
int(1) int(1) int(1) int(1) int(1) int(1) int(1)
Почему так странный результат?