Izbornik Zatvoriti

Računanje kontrolnog broja po modulu 97 u PHP

Skraćena veza: https://pedja.supurovic.net/veza/8494

Zatrebalo mi je da izračunam kontrolni broj po modulu 97, ali nigde nisam našao primer urađen u PHP. Pošto sam napisao funkciju koja to radi, evo je ovde, ako još nekome bude trebalo.

function Modul97 ($pBroj) {

  $mBroj = '';
  $mFixedBroj = '';

  foreach (str_split (strtoupper((string)$pBroj)) as $mChar) {
  
    if (is_numeric ($mChar)) {
      $mBroj .= $mChar;
      $mFixedBroj .= $mChar;
    } else {
      if (ctype_alpha($mChar)) {
        $mBroj .= $mChar;
        $mNumeric = ord ($mChar) - 65 + 10;
        $mFixedBroj .= (string)$mNumeric;
      } else {
        $mBroj .= '-';
      }
    }
    
  }
  
  $mFixedBroj00 = $mFixedBroj . '00';
  
  $mModule = bcmod ($mFixedBroj00, 97);
  
  $mControl = 98 - $mModule;
  
  $mResult = (string)$mControl . '-' . $mBroj; 

  return $mResult; 

}

Funkcija kao ulazni parametar očekuje broj za koji treba izračunat kontrolni broj. Broj može biti numerička vrenost ili niz znakova koji sadrži i slova i znakove interpunkcije.

Funkcija kao izlaz daje niz hnakov akoji sadrže ulazni broj kome je pridodat i kontrolni broj.

Svi znakovi u ulaznom broju koji nisu slova ili brojevi će biti zamenjeni znakom ‘-‘. Mala slova će biti pretvorena u velika.

Ostavite odgovor

Vaša adresa e-pošte neće biti objavljena. Neophodna polja su označena *

Popunite izraz tako da bude tačan: *

Ovo veb mesto koristi Akismet kako bi smanjilo nepoželjne. Saznajte kako se vaši komentari obrađuju.