}
symbol_table = zend_rebuild_symbol_table();
+ ZEND_ASSERT(symbol_table && "A symbol table should always be available here");
if (extract_refs) {
switch (extract_type) {
}
/* }}} */
-/* {{{ proto array|null compact(mixed var_names [, mixed ...])
+/* {{{ proto array compact(mixed var_names [, mixed ...])
Creates a hash containing variables and their values */
PHP_FUNCTION(compact)
{
}
symbol_table = zend_rebuild_symbol_table();
- if (UNEXPECTED(symbol_table == NULL)) {
- return;
- }
+ ZEND_ASSERT(symbol_table && "A symbol table should always be available here");
/* compact() is probably most used with a single array of var_names
or multiple string names, rather than a combination of both.
/** @prefer-ref $arg */
function extract(array &$arg, int $extract_type = EXTR_OVERWRITE, string $prefix = ""): ?int {}
-function compact($var_name, ...$var_names): ?array {}
+function compact($var_name, ...$var_names): array {}
/** @return array|false */
function array_fill(int $start_key, int $num, $val) {}
ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_compact, 0, 1, IS_ARRAY, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_compact, 0, 1, IS_ARRAY, 0)
ZEND_ARG_INFO(0, var_name)
ZEND_ARG_VARIADIC_INFO(0, var_names)
ZEND_END_ARG_INFO()