Commit c31ae2d6661 for php.net
commit c31ae2d66614c2e7199235359a15e025ee112280
Author: Weilin Du <weilindu@php.net>
Date: Wed Sep 16 00:44:46 2026 +0800
[skip ci] Document array iterator and pointer changes in PHP 8.6 UPGRADING
Describe the iteration and internal pointer behavior retained from #23607
in PHP 8.6 after reverting the change in PHP 8.4 and PHP 8.5.
diff --git a/UPGRADING b/UPGRADING
index ee7f4c3ab73..0ebebd43e34 100644
--- a/UPGRADING
+++ b/UPGRADING
@@ -20,6 +20,9 @@ PHP 8.6 UPGRADE NOTES
========================================
- Core:
+ . By-reference foreach loops may now visit previously skipped elements
+ after array compaction. Internal pointers on deleted elements now move
+ to the next surviving element during copy-on-write.
. ??/empty() on a magic property no longer call __get() when __isset()
has materialized the property by writing into the property table.
The freshly-written value is returned directly. isset() is unaffected.