Beregning af tværsum - PHP
Hej,Nu opgiver jeg ellers snart :( - Jeg er ved at lave en funktion som ud fra et givent tal skal skabe en ocr streng for et KA 71 indbetalingskort. Læs om beregningen her: http://www.danskebank.dk/Link/nyerhvervfremstillingaf71kort/$file/Fremstilling_af_71-kort.pdf
Jeg har så forsøgt mig med at lave en funktion som gerne skulle gøre det, men enten så løber den uendeligt eller også så giver den forkert kontroltal:
function splitstring($string,$len) {//Fordi server ikke har PHP 5, ellers str_split
for($i=0;$i<ceil(strlen($string)/$len);$i++)
$rtnarr[$i]=substr($string, $len*$i, $len);
return($rtnarr);
}
function cal_ocr($string){
$string = str_pad($string, 14, 0, STR_PAD_LEFT);//Indsæt nuller
$string_array = splitstring($string,1);
$sum = 0;
//Gennemløber strengen og ganger med hhv. 1 og 2
for ($i = 0; $i <= 13; $i++) {
$multiplier = ($i % 2) ? '2' : '1';
$sum += ($string_array[$i] * $multiplier);
}
$number = $sum;
while (strlen($number) > 1) {
$sum_array = splitstring($number,1);
for($i=0; $i < count($sum_array); $i++) {
$number += $sum_array[$i];
}
}
$tvaersum = $number;
$string = $string.$tvaersum;
return $string;
}
Ovenstående er sikkert møgforkert men jeg tror også efterhånden jeg har stirret mig blind på det.
Jeg håber nogen forstår hvad der menes, ellers så spørg endeligt. Nå ja og til slut, så håber jeg nogen kan hjælpe...
På forhånd mange tak!