3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function createAttributeCollections($pricingAttributes = null, $permutation = array()){ //permutation result if (empty($pricingAttributes)) { echo implode(',', $permutation ); //permutation } else { //permutation loop for ($i = count($pricingAttributes) - 1; $i >= 0; --$i) { $newpricingAttributes = $pricingAttributes; $newPermutations = $permutation; list($foo) = array_splice($newpricingAttributes, $i, 1); array_unshift($newPermutations, $foo); createAttributeCollections($newpricingAttributes, $newPermutations); } } } $results = createAttributeCollections(array('A','B','G','U'));
based on AMaRa
Output for 4.3.0 - 7.2.0
A,B,G,UB,A,G,UA,G,B,UG,A,B,UB,G,A,UG,B,A,UA,B,U,GB,A,U,GA,U,B,GU,A,B,GB,U,A,GU,B,A,GA,G,U,BG,A,U,BA,U,G,BU,A,G,BG,U,A,BU,G,A,BB,G,U,AG,B,U,AB,U,G,AU,B,G,AG,U,B,AU,G,B,A