Portal > Foren > PHP > PHP-Programmierung > Modulo10 rekursiv
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 13.04.2007, 12:12 Nach oben    #1
leftover when bar closes
 
Benutzerbild von dsxs
 
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.
ticketbörse

dsxs ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.04.2007, 15:43 Nach oben    #2
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

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

Basti
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.04.2007, 15:48 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

Ne da haste recht. Da müsste ne Initialisierung vor die for-Schleife.
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.04.2007, 11:23 Nach oben    #4
leftover when bar closes
 
Benutzerbild von dsxs
 
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.
ticketbörse

dsxs ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.04.2007, 11:55 Nach oben    #5
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
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
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.04.2007, 12:11 Nach oben    #6
leftover when bar closes
 
Benutzerbild von dsxs
 
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.
ticketbörse

dsxs ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.04.2007, 16:29 Nach oben    #7
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
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
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.04.2007, 18:37 Nach oben    #8
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
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
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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