I have this snippet that flattens a multi-dimensional array. I want to generate the arrays from the function arguments and use it as my data source. I however runs into Allowed memory size of 134217728 bytes exhausted (tried to allocate 262144 bytes).
If I however passes an array parameter to the function and use it as the data source everything works normal, but I want to gather the inputs from the function arguments.
Here is my code:
public function flatten()
{
$data = func_get_args();
return is_array($data) ? array_reduce($data, function($c, $a){
return array_merge($c, $this->flatten($a));
}, []) : [$data];
}