Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 28-01-2007, 09:50
alrescha
 Newbie
Links : Onlinestatus : alrescha ist offline
Registriert seit: Jan 2007
Beiträge: 1
alrescha ist zur Zeit noch ein unbeschriebenes Blatt
Question Unerwartetes Ergebnis mit array_sum()

Hallo,

ich versuche mich gerade an einer kleinen Funktion, die die Prüfziffer einer ISBN-10-Nummer berechnen soll. Dazu übergebe ich die ISBN ohne Prüfziffer (die sich an der letzten Stelle befindet) und berechne nach dem Schema:

3-492-04590-?
1x3 + 2x4 + 3x9 + 4x2 + 5x0 + 6x4 + 7x5 + 8x9 + 9x0 = 177 : 11 = 16, Rest = 1

Die Zwischensummen bilde ich in dem String $comma_separated, den ich in ein Array auflöse (kommagetrennt). Nun käme die Summenbildung, aber dabei erhalte ich nicht die erwarteten 177, sondern eine 3.

Kann jemand von euch den Fehler in meinem Skript erkennen? ich stehe gerade echt auf dem Schlauch:

PHP-Code:

<?php

function isbnchecksum($isbn10){
$string $isbn10;

for(
$i=0;$i<strlen($string);$i++)
 {
  
$explode[$i] = substr($string$i1);
  
$multiplikator $i+1;
  
$zahl[$i] = $explode[$i]*$multiplikator;
  
$comma_separated implode(","$zahl);
 }
 
$summe=array($comma_separated);
 
$ergebnis=array_sum($summe);
 echo 
"Übergebene ISBN: $isbn10 - die Prüfziffernberechnung beginnt";
 echo 
"<br>Mein zukünftiges Array: $comma_separated<br>";
 
$a = array($comma_separated);
 echo 
"<br><br>Summe aus dem Array (erwartet 177): = ".array_sum($a)."\n";
}

$isbn isbnchecksum("349204590");

?>
Die Bildschirmausgabe wäre bei diesem Beispiel:

Zitat:
Übergebene ISBN: 349204590 - die Prüfziffernberechnung beginnt
Mein zukünftiges Array: 3,8,27,8,0,24,35,72,0


Summe aus dem Array (erwartet 177): = 3
Vielen Dank!

Liebe Grüße
alrescha
Mit Zitat antworten