![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Usiłuję wykonać generator numeru PESEL KOD TUTAJ
Mam prośbę o sprawdzenie i poprawienie błędów. Ten post edytował Malinaa 29.01.2020, 13:50:55 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem, teraz jest tak
Kod // 10 digits (number) $digits_number = $year_last.$month_number.$day.$random_number.$sex; // Number sum $arrBalance = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7]; $number = (string)$digits_number; $strlen = strlen($number); $digit_sum = 0; for ($i=0; $i<$strlen; $i++) { $digit_sum += ($arrBalance[$i] * (int)$number[$i]); } // Checksum $checksum = $digit_sum % 10; // PESEL $pesel = $digits_number.$checksum; Pomińmy PSR (w tym kodzie), gdzie tutaj można użyć === ? INT - czy o ten chodziło. MODULO czy teraz jest dobrze? Zobaczyłem jeszcze jedno Kod // Month $month_number = $arrMonthsMore[(int)$year_first][(int)$month]; if (strlen($month_number) < 2) $month_number = (int)'0'.$month_number; W większości przypadków liczba (dla miesięcy) jest dwu cyfrowa, ale dla lat 1900-1999 są liczby jedno cyfrowe i brakuje 0 z przodu liczby przez co PESEL ma 10 nie 11 cyfr. Jak dodać 0 przed liczbą: 1, 2, 3... (01, 02, 03) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 19:10 |