Teme: PHP

Računanje kontrolnog broja po modulu 97 u PHP

Skraćena veza: http://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.


Podelite ovaj članak sa prijateljima


Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Popunite izraz tako da bude tačan: *