From cd686b5e9523c352dba7630e6d3ea84612700b81 Mon Sep 17 00:00:00 2001 From: tenor13579 <73042206+tenor13579@users.noreply.github.com> Date: Mon, 5 Jun 2023 02:31:59 +0500 Subject: [PATCH] Create Gatsby1 --- Gatsby1 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Gatsby1 diff --git a/Gatsby1 b/Gatsby1 new file mode 100644 index 0000000..24c2562 --- /dev/null +++ b/Gatsby1 @@ -0,0 +1,57 @@ + false, "paymentSystem" => "UNKNOWN"]; + } + $digits = str_split($creditCardNum); + if (count($digits) != 16 && count($digits) != 19) { + return ["isValid" => false, "paymentSystem" => "UNKNOWN"]; + } + $sum = 0; + for ($i = count($digits) - 1; $i >= 0; $i--) { + $digit = (int) $digits[$i]; + if (($i % 2) == 0) { + $digit *= 2; + if ($digit > 9) { + $digit -= 9; + } + } + $sum += $digit; + } + + if (($sum % 10) != 0) { + return ["isValid" => false, "paymentSystem" => "UNKNOWN"]; + } + switch ($digits[0]) { + case '4': + $paymentSystem = "Карта ВИЗА"; + break; + case '5': + $paymentSystem = "Карта МАСТЕРКАРД"; + break; + default: + $paymentSystem = "UNKNOWN"; + break; + } + switch ($digits[0]) { + case '2': + switch ($digits[1]) { + case '2': + switch ($digits[2]) { + case '0': + $paymentSystem = "Карта МИР"; + break; + default: + $paymentSystem = "UNKNOWN"; + break; + } + } + } + return ["isValid" => true, "paymentSystem" => $paymentSystem]; +} + +$result = checkCreditCardNum("Пишите здесь номер карта"); +echo $result["isValid"]; // true +echo $result["paymentSystem"]; // VISA +?>