Sprawdzenie, czy wartość jest poprawnym numerem ISSN

Założenie: Napiszemy funkcję w PHP, która sprawdzi, czy podany ciąg znaków jest poprawnym numerem ISSN.

Krok po kroku:

  1. Utworzenie funkcji walidującej: Napiszemy funkcję, która przyjmuje numer ISSN jako argument i zwraca wartość logiczną (true/false) wskazującą na poprawność.
  2. 
    function isValidISSN($issn) {
      // Usuwamy spacje i myślniki
      $issn = str_replace([' ', '-'], '', $issn);
    
      // Sprawdzenie długości
      if (strlen($issn) != 8) {
        return false;
      }
    
      // Sprawdzenie, czy składa się tylko z cyfr
      if (!ctype_digit($issn)) {
        return false;
      }
    
      // Algorytm weryfikacyjny
      $sum = 0;
      for ($i = 0; $i < 8; $i++) {
        $digit = $issn[$i];
        $weight = ($i % 2 == 0) ? 8 - $i : 7 - $i;
        $sum += $digit * $weight;
      }
    
      return ($sum % 11 == 0);
    }
    				
  3. Wyjaśnienie kodu: Funkcja najpierw oczyszcza numer ISSN z białych znaków i myślników. Następnie sprawdza długość i czy składa się tylko z cyfr. Główna część to algorytm weryfikacyjny, który oblicza ważoną sumę cyfr i sprawdza, czy jest podzielna przez 11.
  4. Użycie funkcji: Teraz możemy użyć funkcji do sprawdzenia poprawności numeru ISSN.
  5. 
    $issn = "1234-5670";
    if (isValidISSN($issn)) {
      echo "ISSN $issn jest poprawny.";
    } else {
      echo "ISSN $issn jest niepoprawny.";
    }
    				
  6. Wyjaśnienie użycia: Kod pokazuje jak wywołać funkcję `isValidISSN()` i wyświetlić odpowiedni komunikat w zależności od wyniku.

Ten przykład pokazuje podstawy walidacji danych w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi metodami walidacji!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *