diff options
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r-- | ext/reflection/php_reflection.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 4c3f6240f4..964e7a9e57 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -618,12 +618,16 @@ static void _class_string(string *str, zend_class_entry *ce, zval *obj, char *in static void _const_string(string *str, char *name, zval *value, char *indent) { char *type = zend_zval_type_name(value); - zend_string *value_str = zval_get_string(value); - string_printf(str, "%s Constant [ %s %s ] { %s }\n", - indent, type, name, ZSTR_VAL(value_str)); - - zend_string_release(value_str); + if (Z_TYPE_P(value) == IS_ARRAY) { + string_printf(str, "%s Constant [ %s %s ] { Array }\n", + indent, type, name); + } else { + zend_string *value_str = zval_get_string(value); + string_printf(str, "%s Constant [ %s %s ] { %s }\n", + indent, type, name, ZSTR_VAL(value_str)); + zend_string_release(value_str); + } } /* }}} */ |