Теоретически, в PHP нет ограничений по размеру параметров. И даже если они есть, вы можете просто увеличить их предел в php.ini
Однако вот идея о том, как сделать ваш код более эффективным:
В PHP можно передавать аргументы по ссылке , а не по значению. Это означает, что вашей функции сообщают только, где найти массив, вместо того, чтобы копировать все это, просто чтобы передать его в функцию. Следствием этого является то, что если вы измените массив внутри функции, эти изменения также будут видны снаружи, поскольку вы работаете с одним и тем же массивом. (Думайте об этом как о доле.)