summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 6b4db94d8b..6f23da0632 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1331,6 +1331,10 @@ PHP_FUNCTION(extract)
}
}
+ if (!EG(active_symbol_table)) {
+ zend_rebuild_symbol_table(TSRMLS_C);
+ }
+
zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(var_array), &pos);
while (zend_hash_get_current_data_ex(Z_ARRVAL_P(var_array), (void **)&entry, &pos) == SUCCESS) {
zval final_name;
@@ -1493,6 +1497,10 @@ PHP_FUNCTION(compact)
WRONG_PARAM_COUNT;
}
+ if (!EG(active_symbol_table)) {
+ zend_rebuild_symbol_table(TSRMLS_C);
+ }
+
array_init(return_value);
for (i=0; i<ZEND_NUM_ARGS(); i++) {