PHPackages                             nokitakaze/orthogonal\_arrays - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nokitakaze/orthogonal\_arrays

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

nokitakaze/orthogonal\_arrays
=============================

Orthogonal array

v0.1.1(8y ago)01331Apache-2.0PHPPHP ^5.5 | ^7.0.9

Since Feb 11Pushed 3y ago1 watchersCompare

[ Source](https://github.com/nokitakaze/php-orthogonal-arrays)[ Packagist](https://packagist.org/packages/nokitakaze/orthogonal_arrays)[ RSS](/packages/nokitakaze-orthogonal-arrays/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (1)Versions (3)Used By (1)

Orthogonal arrays generation
============================

[](#orthogonal-arrays-generation)

Current status
--------------

[](#current-status)

### General

[](#general)

[![Build Status](https://camo.githubusercontent.com/9dfe8101a69e2c2d9daaa9a855c5dfc41712a82faaeba30cd4f9f2ab243e4854/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f6e6f6b6974616b617a652f7068702d6f7274686f676f6e616c2d6172726179732e706e673f6272616e63683d6d6173746572)](http://travis-ci.org/nokitakaze/php-orthogonal-arrays)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/2d5e2c77a58934f0904a0002ee31828304794d5a27f95917e59be1584b941694/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e6f6b6974616b617a652f7068702d6f7274686f676f6e616c2d6172726179732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/nokitakaze/php-orthogonal-arrays/)[![Code Coverage](https://camo.githubusercontent.com/62947d9eca04f6f117ac4e194ca083c8a50ff9b2e1c6350885d59b62d14a0016/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e6f6b6974616b617a652f7068702d6f7274686f676f6e616c2d6172726179732f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://camo.githubusercontent.com/62947d9eca04f6f117ac4e194ca083c8a50ff9b2e1c6350885d59b62d14a0016/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e6f6b6974616b617a652f7068702d6f7274686f676f6e616c2d6172726179732f6261646765732f636f7665726167652e706e673f623d6d6173746572)

Usage
-----

[](#usage)

At first

```
composer require nokitakaze/orthogonal_arrays
```

And then

```
$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, ;
*/
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

3011d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/65bb9967baf399044eb2d9f231fc3ac90b58677e36083f4ae3aa9b59665b6858?d=identicon)[nokitakaze](/maintainers/nokitakaze)

---

Top Contributors

[![nokitakaze](https://avatars.githubusercontent.com/u/9131758?v=4)](https://github.com/nokitakaze "nokitakaze (8 commits)")

---

Tags

orthogonal arrays

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/nokitakaze-orthogonal-arrays/health.svg)

```
[![Health](https://phpackages.com/badges/nokitakaze-orthogonal-arrays/health.svg)](https://phpackages.com/packages/nokitakaze-orthogonal-arrays)
```

###  Alternatives

[instride/data-definitions

Data Definitions allows you to define your DataObject Imports and Exports using a nice GUI and re-run the definitions as often you like.

8117.7k](/packages/instride-data-definitions)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
