<?php
$set1 = ['A', 'B', 'C'];
$set2 = [1, 2, 3];
function perms( $set1, $set2, $i) {
$perms = array();
if( $i == count( $set1) - 1) {
return array();
}
foreach( $set1 as $n1) {
foreach( $set2 as $n2) {
$perms[] = $n1 . $n2;
}
}
$i++;
for( $j = 0; $j < $i; $j++) {
$set1[] = array_shift( $set1);
$set2[] = array_shift( $set2);
}
return array_merge( $perms, perms( $set1, $set2, $i));
}
var_dump( perms( $set1, $set2, 0));
preferences:
33.2 ms | 402 KiB | 5 Q