php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.07.2005, 09:37  
Gast
 
Beiträge: n/a
Standard Zeichenkette splitten und mit ihnen rechnen

Hallo erstmal,

Ich habe nichts n�tzliches in der Suche gefunden also schreib ich einfach mein Problem hinein.

Also folgendes:

F�r die Schule soll ich ein Forum aufstellen. Mit dem normalem phpbb2-Forum sind sie aber nicht zufrieden also habe ich mich mit PHP auseinandergesetzt. Leider hatte ich keine Zeit PHP intensiv zu lernen weil ich bereits dabei bin andere Sprachen zu erlernen und gute Tutorials eher selten sind.

Problem: Das Forum fragt bei der Registrierung eine "Matricule" ab. In Lux. ist das eine Art Seriennummer (also eine offizielle ID) die wie folgt aufgebaut ist "yyyymmddiix"

yyyy = Geburtsjahr
mm = Monat
dd = Tag
ii = AutoIncrement
x = generierte Zahl (auf Basis der anderen 10 Zahlen)

Bei der Registrierung soll diese "Matricule" auf ihre Echtheit �berpr�ft werden. Dazu muss das Geburtsdatum (welches als String �bergeben wird) aufgeteilt werden, damit man mit jeder einzelnen Stelle mathematische Applikationen durchf�hren kann (also rechnen). Das Resultat ist vom Typ boolean. Stimmt die gerechnete Zahl mit x, also der generierten Zahl, �berein, ist die "Matricule" echt (also TRUE).

Kurz: Wie "splitte" ich eine Zeichenkette und wie kann ich die entstandenen Chars in Zahlen umwandeln um mit ihnen zu rechnen?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.07.2005, 09:57  
Gast
 
Beiträge: n/a
Standard

Keine Ahnung ob es so geht:
PHP-Code:
<?php
error_reporting
(E_ALL);

// Format yyyymmddiix
// Beispiel
$text '20050704995';

preg_match('#(\d{4})(\d{2})(\d{2})(\d{2})(\d{1})#'$text$array);

echo 
'<pre>'.print_r($arraytrue).'</pre>';

?>
EDIT:

Ausgabe:

Code:
Array
(
    [0] => 20050704995
    [1] => 2005
    [2] => 07
    [3] => 04
    [4] => 99
    [5] => 5
)
 
Alt 04.07.2005, 10:08  
Gast
 
Beiträge: n/a
Standard

Moin,

einfach so blind drauf los würd ich sagen
PHP-Code:
<?php
$step_1
=str_split($matricule,4);
$inc_index=0;
for (
$i=1;$i<=2;i++)
{
  
$temp=str_split($step_1[$i],2);
  
$split[$i+$inc_index]=$temp[0];
  
$inc_index++;
  
$split[$i+$inc_index]=$temp[1];
  }
?>
jetzt müsstest du folgendes array haben:

$split[0]=yyyy
$split[1]=mm
$split[2]=dd
$split[3]=ii
$split[4]=x

!! nicht getestet !!

Schöner und kürzer geht´s mit regex, aber da kenn ich mich nicht aus...
 
Alt 05.07.2005, 12:17  
Gast
 
Beiträge: n/a
Standard

also soviel ich verstanden habe sieht die Syntax so aus:

$variabel = str_split($string,$anzahlstellen)

bei $string = 'test' und $anzahlstellen = 2 würde

$variabel[0] = 'te'
$variabel[1] = 'st'

sein.

Wenn ja dann hab ichs verstanden. thx
 
Alt 05.07.2005, 12:23  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

...machs einfach, wie "CIX88" vorschlägt und weise die einzelnen Array-Elemente dann ggf. mit list() einzelnen Variablen zu:

http://php.net/manual/en/function.list.php

Basti
Basti ist offline  
Alt 05.07.2005, 17:58  
Gast
 
Beiträge: n/a
Standard

@Sulfura:
Jupp stimmt so die Syntax
zum nachlesen: http://de2.php.net/str_split

Die Version mit den Regulären Ausdrücken von CIX88 ist aber eleganter.

Trotzdem, ich finds gut dass du erstmal versuchst zu kapieren wie etwas funktionniert, bevor du's einfach in dein Skript kopierst!
 
Alt 08.07.2005, 12:44  
Gast
 
Beiträge: n/a
Standard

Habs doch wie CIX88 gemacht weil der Server nur bis PHP3 unterstützt (str_split = PHP5)

trotzdem danke an alle
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Übung - Rechnen mit PHP ???? trowman PHP Tipps 2008 16 21.07.2008 16:03
Rechnung erst nach dem Includen rechnen Lassen PHP Tipps 2006 7 05.08.2006 16:09
Bestimmte Wörter in einer Zeichenkette Zählen DerTschmi PHP Tipps 2006 2 09.04.2006 17:15
[Erledigt] Zeichenkette darf jedes Zeichen aus einem Pool nur 1x enth. PHP Tipps 2006 6 01.04.2006 18:43
einer Zeichenkette weitere Elemente hinzufügen phpbeginner PHP Tipps 2006 9 30.03.2006 12:41
rechnen mit datumsangaben plasma PHP Tipps 2006 17 17.03.2006 19:25
Mit dem Timestamp rechnen Clan-Opa PHP Tipps 2006 1 28.02.2006 09:32
Zeichenkette von hinten her abschneiden Spiff PHP-Fortgeschrittene 9 04.02.2006 18:22
mit php .rar-files splitten phpfortgeschrittener PHP Tipps 2007 5 10.11.2005 13:34
Mit Tageszeiten rechnen und anzeigen PHP Tipps 2005-2 4 21.07.2005 14:19
[Erledigt] Zeichenkette generieren PHP Tipps 2005 5 20.04.2005 19:35
Angaben aus Zeichenkette extrahieren & an Vari. übergebe zwelch PHP Tipps 2005 17 21.01.2005 07:35
Array aus Zeichenkette PHP Tipps 2004 2 20.10.2004 08:52
[Erledigt] Probleme beim rechnen im php... PHP Tipps 2004 3 13.09.2004 08:34
zeichenkette zerlegen? PHP Tipps 2004 6 12.08.2004 02:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php rechnen im string, php string aufspalten und rechnen, zeichenketten rechnen, php rechnen string, php array rechen übungen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.