3v4l.org

run code in 300+ PHP versions simultaneously
<?php $payload = ['a', 'b', 'c', 'd']; function permutations($payload) { if (empty($payload)) { return [[]]; } $results = []; foreach ($payload as $key => $value) { foreach (permutations(array_diff_key($payload, [$key => $value])) as $subarray) { $results[] = array_merge([$value], $subarray); } } return $results; } $permutations = array_map('implode', permutations($payload)); print_r($permutations);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14, 8.5.0
Array ( [0] => abcd [1] => abdc [2] => acbd [3] => acdb [4] => adbc [5] => adcb [6] => bacd [7] => badc [8] => bcad [9] => bcda [10] => bdac [11] => bdca [12] => cabd [13] => cadb [14] => cbad [15] => cbda [16] => cdab [17] => cdba [18] => dabc [19] => dacb [20] => dbac [21] => dbca [22] => dcab [23] => dcba )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.3.28
/bin/php-8.3.28: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.3.28) /bin/php-8.3.28: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.3.28) /bin/php-8.3.28: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.3.28) /bin/php-8.3.28: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.3.28)
Process exited with code 1.

preferences:
127.84 ms | 407 KiB | 5 Q