Orthogonal arrays generation
Current status
General
, (*1)
Usage
At first, (*2)
composer require nokitakaze/orthogonal_arrays
And then, (*3)
$output = \NokitaKaze\OrthogonalArrays\Arrays::generateN2_values([
['human', 'cat'],
['boy', 'girl'],
[true, false],
]);
foreach ($output as $line) {
echo implode(', ', $line).";\n";
}
/* Output:
human, boy, 1;
human, girl, 1;
human, girl, ;
cat, boy, ;
cat, girl, 1;
*/
$output = \NokitaKaze\OrthogonalArrays\Arrays::generateN2_values([
['female', 'male'],
['catgirl'],
[null, 10, 100500],
]);
foreach ($output as $line) {
echo implode(', ', $line).";\n";
}
/* Output:
female, catgirl, ;
male, catgirl, ;
female, catgirl, 10;
male, catgirl, 10;
female, catgirl, 100500;
male, catgirl, 100500;
*/
$output = \NokitaKaze\OrthogonalArrays\Arrays::squeeze([
['USA', 'SpaceX'],
['USA', 'NASA'],
['Russia', 'Roscosmos'],
['Poland', null],
]);
foreach ($output as $line) {
echo implode(', ', $line).";\n";
}
/* Output:
USA, SpaceX;
Russia, SpaceX;
Poland, SpaceX;
USA, NASA;
Russia, NASA;
Poland, NASA;
USA, Roscosmos;
Russia, Roscosmos;
Poland, Roscosmos;
USA, ;
Russia, ;
Poland, ;
*/