diff options
-rw-r--r-- | ext/opcache/Optimizer/zend_optimizer.c | 1 | ||||
-rw-r--r-- | ext/opcache/tests/bug69125.phpt | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index 08ce46c356..c48d5a6732 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -269,6 +269,7 @@ static void update_op2_const(zend_op_array *op_array, case ZEND_ISSET_ISEMPTY_DIM_OBJ: case ZEND_ADD_ARRAY_ELEMENT: case ZEND_INIT_ARRAY: + case ZEND_ASSIGN_DIM: case ZEND_UNSET_DIM: case ZEND_FETCH_DIM_R: case ZEND_FETCH_DIM_W: diff --git a/ext/opcache/tests/bug69125.phpt b/ext/opcache/tests/bug69125.phpt new file mode 100644 index 0000000000..913be01b00 --- /dev/null +++ b/ext/opcache/tests/bug69125.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #69125 (Array numeric string as key) +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php + +const SZERO = '0'; +const SONE = '1'; + +$array[SZERO] = "okey"; +$array[1] = "okey"; + +var_dump($array[SZERO]); +var_dump($array[SONE]); +?> +--EXPECT-- +string(4) "okey" +string(4) "okey" |