trivialmatters / square-matrix
提供流畅OOP API的便捷库,用于处理方阵
2.0.0
2016-08-21 08:35 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^5.5
This package is not auto-updated.
Last update: 2024-09-24 22:36:38 UTC
README
方阵
这是一个PHP库,旨在提供流畅的API,使处理方阵变得更加容易。
要求
- PHP 7或更高版本
版本
此项目遵循semver
安装
- 在您的composer.json中添加库
$ composer require trivialmatters/square-matrix
用法
<?php require_once __DIR__.'/vendor/autoload.php'; $data = <<<EOF 3 11 2 4 4 5 6 10 8 -12 EOF; // or create your own data provider $data = new Gkirtsou\DataProvider\StringDataProvider($data); $data->calculateRowsAndColumns(); /** * [ * [11, 4, 10] * [2, 5, 8] * [4, 6, -12] * ] */ $data->getColumns(); /** * [ * [11, 2, 4] * [4, 5, 6] * [10, 8, -12] * ] */ $data->getRows(); $squareMatrix = new Gkirtsou\SquareMatrix($data); // get numbers from first column (don't forget PHP starts counting from zero!) $squareMatrix->getNumbersByColumn(0); // get numbers from first row (don't forget PHP starts counting from zero!) $squareMatrix->getNumbersByRow(0); // diagonal difference $diagonalDifference = new \Gkirtsou\Diagonal\DiagonalDifference($squareMatrix); // find the diagonal difference $diagonalDifference->findDiagonalDifference(); // returns '15' // find primary diagonal (left to right): returns [11, 5, -12] $diagonalDifference->findDiagonal(\Gkirtsou\Diagonal\DiagonalDifference::PRIMARY_TYPE); // find secondary diagonal (right to left): returns [4, 5, 10] $diagonalDifference->findDiagonal(\Gkirtsou\Diagonal\DiagonalDifference::SECONDARY_TYPE);
贡献
想要贡献?太棒了!请创建一个问题追踪来讨论此事,并创建一个带有您更改的Pull Request。别忘了编写测试! :)
安装
- 克隆仓库
$ git clone git@github.com:trivialmatters/square-matrix.git
- 运行Composer
$ composer install --prefer-dist -o -vvv
测试
您可以使用PHPUnit运行测试
$ vendor/bin/phpunit -c phpunit.xml.dist tests