php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.12.2008, 19:42  
Neuer Benutzer
 
Registriert seit: 20.12.2008
Beiträge: 8
maynak befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] In Arrays aufsplitten, dann zusammenfügen?

Hallo Leute,

ich bin ein php-newbie und brauche bisschen Gedankenanschub.

Ich will eine 8-stellige Zahl aufsplitten und mit den einzelnen Zahlen weiterarbeiten.

z.B.
Die Zahl 12345678 kann ich mit str_split aufsplitten und in Arrays speichern. Aber die ersten 5 und die letzten 3 Zahlen muss ich getrennt erhöhen. Ich könnte zwar mit str_split(str, 5) die ersten 3 in Array speichern aber das will ich nicht, weil ich später auch mit einzelnen Zahlen weiterarbeiten muss.

Was will ich genau?

Es gibt eine 10-Stellige zahl, die letzten 2 Stellen werden aus den ersten 8 Stellen berechnet. Aber vorher müssen diese ersten 8 Zahlen in 2 Teile getrennt werden.

Bsp.:

12345678

12345 um 1 erhöhen 12346
678 um 1 erhöhen 679

12346679

Jetzt müssen ungerade und gerade stellen aufsummiert und mit modulo berechnet werden.

1+3+6+7=17 mod 2 = 1
2+4+6+9=21 mod 2 = 1

Jetzt habe ich die Zahl:
1234667911

Genau das will ich jetzt mit php machen.

Meine Frage ist, wie kann ich die einzelnen Arraywerte zu einer variable übergeben, damit ich wie mit einer ganzen Zahl weiterarbeiten kann?

z.B. $var = Array[0], Array[1], Array[2], Array[3], Array[5]

und welche anderen Tipps könnt ihr mir geben.

Vielen Dank

Geändert von maynak (20.12.2008 um 19:48 Uhr).
maynak ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.12.2008, 20:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Benutz doch lieber substr


PHP-Code:
substr ($input 5);
substr ($input 3); 
etc.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 21.12.2008, 01:36  
Neuer Benutzer
 
Registriert seit: 20.12.2008
Beiträge: 8
maynak befindet sich auf einem aufstrebenden Ast
Standard

danke nikosch

PHP-Code:
$zahl 12345678;

preg_match('#(\d{5})(\d{3})#'$zahl$array);

$first5 $array[1]+1
$last3 $array[2]+1

$zahl2 str_split($zahl);




$neun = ($zahl2[0]+$zahl2[2]+$zahl2[4]+$zahl2[6])%2;
$zehn = ($zahl2[1]+$zahl2[3]+$zahl2[5]+$zahl2[7])%2;

$ergebnis $first5.$last3.$neun.$zehn;

echo 
$ergebnis
das liefert mir das gewünschte Ergebnis 1234667900 aber mit diesem Zahl möchte ich weiterarbeiten und 50 x wiederholen. Wenn ich das in for-schleife reinpacke, bekomme ich immer das gleiche Ergbenis. Irgend etwas mache ich falsch mit der Schleife aber was?

Ach ja, ich weiss schon das man oben einiges besser machen kann aber meine Kenntnisse haben nur soweit gereicht

Geändert von maynak (21.12.2008 um 17:35 Uhr). Grund: tippfehler korrigiert
maynak ist offline  
Alt 21.12.2008, 03:37  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von maynak Beitrag anzeigen
danke nikosch

PHP-Code:
$zahl 12345678;

preg_match('#(\d{5})(\d{3})#'$zahl$array);

$first5 $array[1]+1
$last3 $array[2]+1

$zahl2 str_split($zahl);




$neun = ($zahl[0]+$zahl[2]+$zahl[4]+$zahl[6])%2;
$zehn = ($zahl[1]+$zahl[3]+$zahl[5]+$zahl[7])%2;

$ergebnis $first5.$last3.$neun.$zehn;

echo 
$ergebnis
das liefert mir das gewünschte Ergebnis 1234667911 aber mit diesem Zahl möchte ich weiterarbeiten und 50 x wiederholen. Wenn ich das in for-schleife reinpacke, bekomme ich immer das gleiche Ergbenis. Irgend etwas mache ich falsch mit der Schleife aber was?

Ach ja, ich weiss schon das man oben einiges besser machen kann aber meine Kenntnisse haben nur soweit gereicht
Pack das ganze doch einfach in eine Funktion und führ diese Funktion dann in einer Schleife aus. Oder du setzt am Anfang halt $zahl und führst dann in der Schleife deine Rechenoperationen durch und schreibst das Ergebnis wiederrum in $zahl (statt wie bei dir in $ergebnis), wodurch beim nächsten Schleifendurchlauf das neue Ergebnis verwendet wird.

mfg
BlackWolf ist offline  
Alt 21.12.2008, 03:52  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Was passiert eigentlich bei $last3=999 + 1, $last3=950 + 50 usw ? Oder kann das nicht vorkommen?


Zitat:
$zahl2 = str_split($zahl);
Willst Du mit der "alten" oder der "neuen" Zahl weiterrechnen?
David ist offline  
Alt 21.12.2008, 12:14  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Und was macht $tahl2?

$zahl2 = str_split($zahl);
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 21.12.2008, 17:20  
Neuer Benutzer
 
Registriert seit: 20.12.2008
Beiträge: 8
maynak befindet sich auf einem aufstrebenden Ast
Standard

uppps mein Tippfehler. Natürlich rechne ich mit zahl2 weiter.Ich habe beim eintippen vergessen es so zu schreiben.Ich werde es mal mit der Schleife gleich ausprobieren.

Geändert von maynak (21.12.2008 um 17:35 Uhr).
maynak ist offline  
Alt 21.12.2008, 17:57  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Trotzdem rechnest Du mit dem angegeben Code mit der alten Zahl weiter.

PHP-Code:
$zahl2 str_split($first5.$last3); 
Erst damit enthält $zahl2 die neuen, veränderten Ziffern.
David ist offline  
Alt 22.12.2008, 03:13  
Neuer Benutzer
 
Registriert seit: 20.12.2008
Beiträge: 8
maynak befindet sich auf einem aufstrebenden Ast
Standard

hallo David,
danke danke.es hat zwar ein ergebnis geliefert aber war kein richtiges. komischerweise habe ich im laufe der arbeit ein ergebnis geprüft und es war richtig.

Ich habe dank euren Tipps hinbekommen. Jetzt bin ich dabei die Prozedur sicherer zu machen, damit keine unerwarteten Fehler auftauchen.

Danke an alle!
maynak ist offline  
Alt 22.12.2008, 19:04  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Und da entscheide dich dann bei Fragen bitte für ein Forum.

PHP script resource - Zahl splitten und mit Arrays weiterarbeiten?!

Bitte zu Crosspostings belesen.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
 


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
Mehrere Arrays summieren buggybugga PHP-Fortgeschrittene 8 22.07.2008 11:51
Variable Variablen zusammen mit Arrays Kenshin PHP Tipps 2008 2 20.04.2008 15:30
eindimensionale arrays sortieren webazubi PHP Tipps 2007 5 23.03.2007 18:11
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
Arrays kreuzen PHP Tipps 2006 13 08.03.2006 11:36
2 Arrays kombinieren Transmitter PHP Tipps 2006 5 02.01.2006 16:16
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Objektorientierter Zugriff auf Multidimensionale Arrays PHP-Fortgeschrittene 31 26.11.2005 21:46
Problem beim Zusammenfügen von Arrays mit array_merge PHP Tipps 2005-2 2 08.10.2005 16:44
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
2 Arrays vergleichen und unterschiede auslesen PHP Tipps 2005 6 25.02.2005 09:34
5 assosiative arrays gleichzeitig sortieren PHP Tipps 2004-2 2 13.12.2004 14:07
Erkennung von Arrays in Strings PHP-Fortgeschrittene 15 07.12.2004 13:00
2 arrays in abhängigkeit ??? PHP Tipps 2004 2 11.08.2004 21:19
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php zahlen zusammensetzen, 5 stellige zahl in array packen, array werte zu einer ganzenzahl zusammfenfügen, einzelne ziffern eines arrays aneinanderfügen, php zahl aufsplitten mit array, php substr zu einer zahl zusammenfügen, php arrays aufsplitten, php array splitten und zusammenführen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:39 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