diff --git a/ext/standard/string.c b/ext/standard/string.c index eed9184d7be..278aadc1d57 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -860,15 +860,15 @@ PHP_FUNCTION(implode) } if (argc == 1) { - MAKE_STD_ZVAL(delim); -#define _IMPL_EMPTY "" - ZVAL_STRINGL(delim, _IMPL_EMPTY, sizeof(_IMPL_EMPTY) - 1, 0); - if (Z_TYPE_PP(arg1) != IS_ARRAY) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument to implode must be an array."); return; } + MAKE_STD_ZVAL(delim); +#define _IMPL_EMPTY "" + ZVAL_STRINGL(delim, _IMPL_EMPTY, sizeof(_IMPL_EMPTY) - 1, 0); + SEPARATE_ZVAL(arg1); arr = *arg1; } else {