Теме: PHP

Рачунање контролног броја по модулу 97 у PHP

Скраћена веза: https://pedja.supurovic.net/veza/8494

Затребало ми је да израчунам контролни број по модулу 97, али нигде нисам нашао пример урађен у PHP. Пошто сам написао функцију која то ради, ево је овде, ако још некоме буде требало.

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; 

}

Функција као улазни параметар очекује број за који треба израчунат контролни број. Број може бити нумеричка вреност или низ знакова који садржи и слова и знакове интерпункције.

Функција као излаз даје низ хнаков акоји садрже улазни број коме је придодат и контролни број.

Сви знакови у улазном броју који нису слова или бројеви ће бити замењени знаком ‘-‘. Мала слова ће бити претворена у велика.


Поделите овај чланак са пријатељима


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>

Попуните израз тако да буде тачан: *