Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 872 Bytes

README.md

File metadata and controls

54 lines (35 loc) · 872 Bytes

Choval/damm

Damm algorithm functions.

In error detection, the Damm algorithm is a check digit algorithm that detects all single-digit errors and adjacent transposition errors. It was presented by H. Michael Damm in 2004.

-- Wikipedia

Install

composer require choval/damm

Usage

damm_digit(string $number) : int
damm_valid(string $number[, string $digit]) : bool

Both functions take a string as parameter to allow numbers larger than PHP_INT_MAX.
They still have to be numeric.

Examples:

echo damm_digit(572);
// 4

echo damm_digit('572');
// 4

echo damm_digit('0000572');
// 4

echo damm_valid(572, 4);
// true

echo damm_valid(572, 3);
// false

echo damm_valid(5724);
// true

echo damm_valid('000005724');
// true

License

MIT, see LICENSE