Dostałem właśnie z banku wytyczne co do generowania ich numerów kont i wygląda to tak:
Więc idąc ich tokiem zrobiłem funkcję generującą:
function GenBankAccount() {
$x = '0123456789'; // zakres znaków generowanego ciągu
$A=11401124; //NRB
$S = ''; // numer klienta generowany losowo poniżej
for ($i = 0; $i <= 15; $i++) {
if ($i==0) $S = $x[mt_rand(1, strlen($x)-1)];
else $S .= $x[mt_rand(0, strlen($x)-1)];
}
$t1=$A.$S.'252100'; //30 cyfrowy kod punkty 1,2,3
$NN=$t1 % 97;// reszta z dzielenia punkty 4
$CC=98-$NN; // liczba kontrolna punkt 5
if (strlen($CC)==1) $CC='0'.$CC;
return $CC.$A.$S;
}
Niestety otrzymuję cały czas nieprawidłowy numer i widzę błąd w punkcie 4. Prawdopodobnie kwestia typowania zmiennych.
getttype($t1) zwraca string a jednak do dzielenia potrzeba liczby. Settype($t1) nie daje rady.
Jak mogę to rozwiązać?
Jakieś pomysły?