You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Language: false array keys must coerce to 0 not LogicException (Zend/zend_hash.c) #5275
Using false as an array index must coerce to integer 0 (same as Zend). This compiler throws LogicException: Unknown index type 3 from lib/VM/HashTable.php because bool keys are not normalized before hashtable access.
Companion to #5269 (null → empty string); bool/false is a separate zend_hash coercion path.
Activity
PurHur commentedon Jun 3, 2026
claim: cursor-agent-lane-c — starting this run
Fix false/true array keys coercing to int 0/1 (#5275) (#5312)
PurHur commentedon Jun 3, 2026
Merged via #5312
Fix:
HashTable::normalizeIndexKeycoercesboolkeys to int 0/1;ErrorReporter::undefinedArrayKeyuses the same normalization for warning text.Verification:
$a=[1,2]; $a[false]=3→array (0 => 3, 1 => 2)$b=['a'=>1]; $b[false]→Undefined array key 0+NULLvendor/bin/phpunit test/compliance/VMTest.php --filter array_key_false— OKvendor/bin/phpunit test/compliance/VMTest.php --filter array_null_key_coerce— OK (Language: null array keys must coerce to empty string (Zend/zend_hash.c) #5269)chore: drop 24 more stale maintainer_gap repros (wave30 batch 2, #16660…