3v4l.org

run code in 300+ PHP versions simultaneously
<?php $atrs_ref = ['p', 'm', 'g']; $colors=['blanco', 'negro', 'rojo']; $sizes=['corta', 'larga'] ; print_r([...combinations([$atrs_ref, $colors, $sizes,])]); function combinations(array $arrays): iterable { if ($arrays === []) { yield []; return; } $head = array_shift($arrays); foreach ($head as $elem) { foreach (combinations($arrays) as $combination) { yield [$elem, ...$combination]; } } }

preferences:
51.17 ms | 405 KiB | 5 Q