Ergebnis 1 bis 8 von 8

Thema: Modulo10 rekursiv

  1. #1
    leftover when bar closes
    Registriert seit
    29.06.2006
    Ort
    Bern
    Beiträge
    123

    Standard Modulo10 rekursiv

    Eine einstellige Prüfziffer wird u.a. bei schweizer Einzahlungsscheinen als letzte Ziffer angefügt, nach der Referenznummer, aus welcher sich diese Ziffer errechnen lässt (nach Modulo 10 - rekursiv)

    Hatte Mühe damit, dies in PHP hinzukriegen, hier also der Code, falls mal jemand danach sucht und ordentlich Zeit sparen möchte:

    PHP-Code:
    <?php

    function modulo10($ref_nr) {
        
    $table = array(0,9,4,6,8,2,7,1,3,5);

        for (
    $i=0$i<strlen($ref_nr); $i++) {
            
    $next $table[($next substr($ref_nr$i1)) % 10];
        }
        return (
    10 $next) % 10;
    }

    // bsp, ergibt 4
    echo modulo10("00000000800514220080540818");

    ?>
    Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.

  2. #2
    Erfahrener Benutzer
    Registriert seit
    04.01.2006
    Beiträge
    964

    Standard

    $next wird nicht initialisiert. Scheinst PHP-Warnungen zu unterdrücken oder übersehe ich grad nur was?

    Basti

  3. #3
    Mensch Avatar von WarrenFaith
    Registriert seit
    17.08.2005
    Ort
    Berlin
    Beiträge
    1.677

    Standard

    Ne da haste recht. Da müsste ne Initialisierung vor die for-Schleife.
    Rapid Android Development - droidnova.com
    SimCity für Android (bald Open Source) - Saint Feint City

  4. #4
    leftover when bar closes
    Registriert seit
    29.06.2006
    Ort
    Bern
    Beiträge
    123

    Standard

    Da habt ihr Recht, danke für den Tipp.
    Es funktioniert jedoch auch so - schöner ist aber immer besser ;)


    Grüsse
    Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.

  5. #5
    Erfahrener Benutzer
    Registriert seit
    04.01.2006
    Beiträge
    964

    Standard

    Das error_reporting-Level sollte man immer mind. auf E_ALL setzen. Damit muss man zwar die ein und andere Zeile mehr tippen, aber der Aufwand lohnt sich, da man damit hilfreiche Informationen erhält und ein paar der vielen Type-Casting-Fallen entschärft. Auf dem Produktivserver dann einfach display_errors ausschalten.

    "funktioniert jedoch auch so" ist also an eine Bedingung geknüpft, die wohl kaum jemand zu schaffen bereit sein wird.

    Basti

  6. #6
    leftover when bar closes
    Registriert seit
    29.06.2006
    Ort
    Bern
    Beiträge
    123

    Standard

    Zitat Zitat von Basti Beitrag anzeigen
    Das error_reporting-Level sollte man immer mind. auf E_ALL setzen. Damit muss man zwar die ein und andere Zeile mehr tippen, aber der Aufwand lohnt sich, da man damit hilfreiche Informationen erhält und ein paar der vielen Type-Casting-Fallen entschärft. Auf dem Produktivserver dann einfach display_errors ausschalten.

    "funktioniert jedoch auch so" ist also an eine Bedingung geknüpft, die wohl kaum jemand zu schaffen bereit sein wird.

    Basti
    Gebe dir da sehr wohl Recht und handhabe die Programmierung in der Regel nicht anders.
    Trotzdem sehe ich einen gewaltigen Unterschied zwischen öffentlich zugänglichen Websites mit PHP backend, bei welchen es grob fahrlässig und schlichtweg dumm wäre, nicht vorsichtig und mit System zu coden.
    Bei einem gesicherten Adminpanel auf einem geschlossenen Server hingegen, spare ich mir gerne Zeit, indem ich so code, dass es funktioniert, und mich nicht in Kleinigkeiten verliere... Grundsatzfrage, aber danke für deinen Input.
    Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.

  7. #7
    Mensch Avatar von WarrenFaith
    Registriert seit
    17.08.2005
    Ort
    Berlin
    Beiträge
    1.677

    Standard

    Jedem sein Stil, aber tu mir den Gefallen und korrigiere deinen Code im ersten Post und initialisiere $next, damit ein durchweg korrektes Codesnippet dort liegt.

    Und lasst uns jetzt nicht auf error-Handling/Reportingdiskussionen abschweifen.

    Danke
    Rapid Android Development - droidnova.com
    SimCity für Android (bald Open Source) - Saint Feint City

  8. #8
    BIN EIN KRASSA HELD!!!111 Avatar von robo47
    Registriert seit
    02.06.2005
    Ort
    weiher im tiefsten Odenwald
    Beiträge
    1.391

    Standard

    Zitat Zitat von dsxs Beitrag anzeigen
    Bei einem gesicherten Adminpanel auf einem geschlossenen Server hingegen, spare ich mir gerne Zeit, indem ich so code, dass es funktioniert, und mich nicht in Kleinigkeiten verliere... Grundsatzfrage, aber danke für deinen Input.
    Wenn ich mich nicht ganz arg täusche, merkt PHP intern ja auch auch bei deaktiviertem Errorhandling, bzw. einem niedrigen Error-Level jeden Fehler, was wiederum auch Rechenzeit verbraucht, mag zwar minimal sein, aber zig Notices für unintialisierten variablen können sich vielleicht auch MINIMAL bemerkbar machen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Verzeichnisse rekursiv anlegen
    Von lokari im Forum PHP-Programmierung
    Antworten: 13
    Letzter Beitrag: 03.03.2008, 10:21
  2. Unterordner aus Ordner rekursiv anzeigen lassen
    Von Jan im Forum PHP-Programmierung
    Antworten: 9
    Letzter Beitrag: 12.09.2007, 19:47
  3. Ordner rekursiv mit Java kopieren
    Von Xean im Forum Allgemeine Java-Programmierung
    Antworten: 8
    Letzter Beitrag: 09.07.2006, 22:45
  4. [PHP] Eine Einführung in die Rekursion
    Von Jojo im Forum Tutorials
    Antworten: 8
    Letzter Beitrag: 11.03.2006, 22:11
  5. Rekursiv Ordnerstrukturen nachbilden
    Von Jojo im Forum PHP-Programmierung
    Antworten: 2
    Letzter Beitrag: 23.12.2005, 04:46

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Impressum · Tutorials · Nutzungsbedingungen · thematisch sortierte Linklisten · Spendenaufruf · Team · Partnerprojekte

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48