Only arrays can be unpacked in constant expression
Description
... may be used on both arrays and Traversable objects, but within a static constant expression, this operator only works on arrays, and cannot be used on objects, Traversable or not.
Example
<?php
const A = 2;
function foo($a = [...A]) {
print_r($a);
}
foo();
?>
Alternatives
- Rewrite the expression without the
...operator. - Convert the object into an array.