Server IP : 66.29.132.124 / Your IP : 18.219.12.88 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/fzaninotto/faker/src/Faker/Calculator/ |
Upload File : |
<?php namespace Faker\Calculator; use InvalidArgumentException; class TCNo { /** * Generates Turkish Identity Number Checksum * Gets first 9 digit as prefix and calcuates checksums * * https://en.wikipedia.org/wiki/Turkish_Identification_Number * * @param string $identityPrefix * @return string Checksum (two digit) */ public static function checksum($identityPrefix) { if (strlen((string)$identityPrefix) !== 9) { throw new InvalidArgumentException('Argument should be an integer and should be 9 digits.'); } $oddSum = 0; $evenSum = 0; $identityArray = array_map('intval', str_split($identityPrefix)); // Creates array from int foreach ($identityArray as $index => $digit) { if ($index % 2 == 0) { $evenSum += $digit; } else { $oddSum += $digit; } } $tenthDigit = (7 * $evenSum - $oddSum) % 10; $eleventhDigit = ($evenSum + $oddSum + $tenthDigit) % 10; return $tenthDigit . $eleventhDigit; } /** * Checks whether an TCNo has a valid checksum * * @param string $tcNo * @return boolean */ public static function isValid($tcNo) { return self::checksum(substr($tcNo, 0, -2)) === substr($tcNo, -2, 2); } }