array_merge() And Variadic

Until PHP 7.4, array_merge() always needed at least one argument to execute. This means that using the variadic operator on an empty array yielded no argument, and then, an error.

Since PHP 7.4, array_merge() handles graciously the case of no arguments, by returning an empty array, and not more error.

This applies to array_merge() and array_merge_recursive().

PHP code

<?php

$array = [];

$array2 = array_merge(...$array);

print_r($array2);

?>

Before

PHP Warning:  array_merge() expects at least 1 parameter, 0 given

Warning: array_merge() expects at least 1 parameter, 0 given

After

Array
(
)

PHP version change

This behavior changed in 7.4

Error Messages

Analyzer