- Opcache:
. Fixed bug #76477 (Opcache causes empty return value).
(Nikita, Laruence)
+ . Fixed bug #76466 (Loop variable confusion). (Dmitry, Laruence, Nikita)
. Fixed bug #76463 (var has array key type but not value type). (Laruence)
. Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion
`!(zval_gc_flags((str)->gc)). (Nikita, Laruence)
* ADD_ARRAY_ELEMENT chain. We do this by only keeping the array on the last opcode
* and use a NULL value everywhere else. */
if (Z_TYPE(ctx->values[ssa_op->result_def]) == IS_NULL) {
+ SET_RESULT_BOT(result);
return;
}
--- /dev/null
+--TEST--
+Bug #76466 Loop variable confusion
+--INI--
+opcache.enable=1
+opcache.enable_cli=1
+opcache.optimization_level=-1
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+function foo() {
+ for ($i = 0; $i < 2; $i++) {
+ $field_array[] = [$i, 0];
+ }
+ var_dump($field_array);
+}
+foo();
+?>
+--EXPECT--
+array(2) {
+ [0]=>
+ array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(0)
+ }
+ [1]=>
+ array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+ }
+}