<?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));
- Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array(18) {
[0]=>
string(2) "A1"
[1]=>
string(2) "A2"
[2]=>
string(2) "A3"
[3]=>
string(2) "B1"
[4]=>
string(2) "B2"
[5]=>
string(2) "B3"
[6]=>
string(2) "C1"
[7]=>
string(2) "C2"
[8]=>
string(2) "C3"
[9]=>
string(2) "B2"
[10]=>
string(2) "B3"
[11]=>
string(2) "B1"
[12]=>
string(2) "C2"
[13]=>
string(2) "C3"
[14]=>
string(2) "C1"
[15]=>
string(2) "A2"
[16]=>
string(2) "A3"
[17]=>
string(2) "A1"
}
- Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
- Parse error: syntax error, unexpected '[' in /in/O0BBW on line 2
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
- Parse error: parse error, unexpected '[' in /in/O0BBW on line 2
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/O0BBW on line 2
Process exited with code 255.
preferences:
257.52 ms | 401 KiB | 424 Q