PHP code example of portavice / permutation
1. Go to this page and download the library: Download portavice/permutation library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
portavice / permutation example snippets
ortavice\Permutation\Permutation;
// You can also use the static method:
$permutations = Permutation::getPermutations(
[
'a' => ['a1', 'a2'],
'b' => ['b1', 'b2'],
'c' => ['c1', 'c2'],
]
);
// Output:
// [
// ['a' => 'a1', 'b' => 'b1', 'c' => 'c1'],
// ['a' => 'a1', 'b' => 'b1', 'c' => 'c2'],
// ['a' => 'a1', 'b' => 'b2', 'c' => 'c1'],
// ['a' => 'a1', 'b' => 'b2', 'c' => 'c2'],
// ['a' => 'a2', 'b' => 'b1', 'c' => 'c1'],
// ['a' => 'a2', 'b' => 'b1', 'c' => 'c2'],
// ['a' => 'a2', 'b' => 'b2', 'c' => 'c1'],
// ['a' => 'a2', 'b' => 'b2', 'c' => 'c2'],
// ]
// You can also use the recursive method:
$permutations = Permutation::getPermutationsRecursive(
[
'a' => ['a1', 'a2'],
'b' => ['b1', 'b2'],
'c' => ['c1', 'c2'],
]
);
// Output:
// [
// ['a' => 'a1'],
// ['a' => 'a2'],
// ['b' => 'b1'],
// ['b' => 'b2'],
// ['c' => 'c1'],
// ['c' => 'c2'],
// ['a' => 'a1', 'b' => 'b1'],
// ['a' => 'a1', 'b' => 'b2'],
// ['a' => 'a1', 'c' => 'c1'],
// ['a' => 'a1', 'c' => 'c2'],
// ['a' => 'a2', 'b' => 'b1'],
// ['a' => 'a2', 'b' => 'b2'],
// ['a' => 'a2', 'c' => 'c1'],
// ['a' => 'a2', 'c' => 'c2'],
// ['b' => 'b1', 'c' => 'c1'],
// ['b' => 'b1', 'c' => 'c2'],
// ['b' => 'b2', 'c' => 'c1'],
// ['b' => 'b2', 'c' => 'c2'],
// ['a' => 'a1', 'b' => 'b1', 'c' => 'c1'],
// ['a' => 'a1', 'b' => 'b1', 'c' => 'c2'],
// ['a' => 'a1', 'b' => 'b2', 'c' => 'c1'],
// ['a' => 'a1', 'b' => 'b2', 'c' => 'c2'],
// ['a' => 'a2', 'b' => 'b1', 'c' => 'c1'],
// ['a' => 'a2', 'b' => 'b1', 'c' => 'c2'],
// ['a' => 'a2', 'b' => 'b2', 'c' => 'c1'],
// ['a' => 'a2', 'b' => 'b2', 'c' => 'c2'],
// ]
// NEW: Generators! For memory constrained environments.
// More info how to use generators here: https://www.php.net/manual/en/language.generators.overview.php
$permutations = Permutation::getGenerator([
'a' => ['a1', 'a2'],
'b' => ['b1', 'b2'],
'c' => ['c1', 'c2'],
]);
foreach ($permutations as $permutation) {
// ... do stuff here!
}