diff options
| -rw-r--r-- | NEWS | 1 | ||||
| -rw-r--r-- | ext/opcache/Optimizer/zend_optimizer.c | 1 | ||||
| -rw-r--r-- | ext/opcache/tests/bug69125.phpt | 22 |
3 files changed, 24 insertions, 0 deletions
@@ -21,6 +21,7 @@ PHP NEWS . Fixed bug #68964 (Allowed memory size exhausted with odbc_exec). (Anatol) - Opcache: + . Fixed bug #69125 (Array numeric string as key). (Laruence) . Fixed bug #69038 (switch(SOMECONSTANT) misbehaves). (Laruence) - OpenSSL: diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index ca5d41d8d5..be49b4956b 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -241,6 +241,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" |
