Allow zero parameters in array_merge()?

php.internals

Benjamin Morel

7 years ago
Hi Internals, I'm wondering if there's any reason why array_merge() doesn't allow zero arrays to be passed? array_merge(); // Warning: array_merge() expects at least 1 parameter, 0 given It would be reasonable IMO to return an empty array in this case. The reason is, I'm often using it this way: $result = []; foreach (...) { $result[] = getSomeListOfItems(); } if (! $result) { return []; } return array_merge(...$result); If we allowed zero arrays to be passed, I could get rid of this repeated empty array check before array_merge(). Ben

Sara Golemon

7 years ago
On Fri, Jun 14, 2019 at 12:15 PM Benjamin Morel <benjamin.morel@gmail.com> wrote:
> I'm wondering if there's any reason why array_merge() doesn't allow zero > arrays to be passed? > > array_merge(); // Warning: array_merge() expects at least 1 parameter, > 0 given > > It would be reasonable IMO to return an empty array in this case. >
I don't see any issue with this plan. I say do it. -Sara

Girgias

7 years ago
On Fri, 14 Jun 2019 at 19:21, Sara Golemon <pollita@php.net> wrote:
> On Fri, Jun 14, 2019 at 12:15 PM Benjamin Morel <benjamin.morel@gmail.com> > wrote: > > > I'm wondering if there's any reason why array_merge() doesn't allow zero > > arrays to be passed? > > > > array_merge(); // Warning: array_merge() expects at least 1 > parameter, > > 0 given > > > > It would be reasonable IMO to return an empty array in this case. > > > > I don't see any issue with this plan. I say do it. > > -Sara >
Already the case in PHP 7.4 See changelog: https://www.php.net/manual/en/function.array-merge.php#refsect1-function.array-merge-changelog George P. Banyard

Benjamin Morel

7 years ago
> Already the case in PHP 7.4
This, will teach me to scroll down the page. Thank you! Ben