php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.11.2005, 10:24  
Gast
 
Beiträge: n/a
Standard array verarbeitung (schlag auf den hinterkopf)

hallo zusammen
ich hab ein denkproblem und bekomme es nicht gebacken mir das array zurecht zu legen
die basis ist ein array ca so
Code:
Array
(
    [0] => wert 1 – 1  //start erstes array
    [1] => wert 2 - 1
    [2] => wert 3 - 1
    [3] => wert 4 - 1
    [4] => wert 1 – 2	//start zweites array
    [5] => wert 2 – 2
    [6] => wert 3 - 2
    [7] => wert 2 - 2
    [8] => wert 1 – 3	//start drittes array
    [9] => wert 2 - 3
    [10] => wert 3 - 3
    [11] => wert 4 - 3
    [12] => wert 1 – 4	//vier…
    [13] => wert 2 - 4
    [14] => wert 4 - 4
    [15] => wert 5 – 4

... usw ...
}
theoretisch simpel immer vier einträge in ein neues array gesplittet mit einem zb ;

Code:
Array
(
	[0] => wert 1 – 1;wert 2 – 1;wert 3 – 1;wert 4 - 1  
	[1] => wert 1 – 2;wert 2 – 2;wert 3 – 2;wert 4 – 2
... usw ...
}
sorry aber ich rall es nicht leider hab hier jetzt keine meiner versucher es waren aber einige
und es kamen die wüstesten ergebnisse raus (ist wahrscheinlich eh besser das ihr die nicht seht )

joa nun zur frage wie verschachtel ich die schleife das so ein ergebnis entsteht?

THX
MfG da.bert
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.11.2005, 10:31  
Gast
 
Beiträge: n/a
Standard

Code:
$sourceArray = array(); // dein Quellarray
$sourceArrayLength = count($sourceArray); // die Größe des Quellarrays
$targetArray = array(); // das Ergebnisarray
$step = 4; // die Schrittweite
for($i = 0; $i < $sourceArrayLength; $i++) {
    $targetArray[(int)($i / $step)] .= $sourceArray[$i];
}
ACHTUNG: Das ist nur die Logik! Du musst natürlich in der Schleife erstmal das Element mit dem entsprechenden Index in $targetArray initialisieren, bevor du einen String hinzufügst. Des Weiteren noch die Strichpunkte einbauen.

NICHT GETESTET!
 
Alt 16.11.2005, 10:57  
Gast
 
Beiträge: n/a
Standard

WOW BIG THX!!!

öhm also ich hab schon paar bücher gelesen aber so eine deklaration hab ich noch nie gesehen!
Code:
$targetArray[(int)($i / $step)]
könntest du das kurz erklähren?

quasi i durch stepp muss eine ganzzahl sein dann nim das ergebnis als neuen index?
 
Alt 16.11.2005, 11:02  
Gast
 
Beiträge: n/a
Standard

Klar

Die Schrittweite ist in unserem Fall 4, d.h. dass sich der Index des Zielarrays nur alle 4 Schleifendurchläufe um 1 erhöhen soll. Also teilen wir den Iterator $i durch 4 und erhalten bei den ersten vier Durchläufen - in denen $i von 0 bis 3 geht - einen Wert von 0,..., bei Durchlauf fünf bis acht einen Wert von 1,... usw.. Ein Index muss aber eine Ganzzahl sein, deshalb casten wir den Wert noch nach int, was die Kommastellen einfach abschneidet.
 
Alt 16.11.2005, 11:02  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

(int) dürfte das selbe wie floor(..), also Abrunden bewirken. Zumindest ist das bei C++ glaube ich so.
Zergling-new ist offline  
Alt 16.11.2005, 11:04  
Gast
 
Beiträge: n/a
Standard

int rundet nicht, int kennt einfach keine Nachkommastellen
 
Alt 16.11.2005, 11:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Saraneus
int rundet nicht, int kennt einfach keine Nachkommastellen
Ich sag ja, es bewirkt das selbe
Zergling-new ist offline  
Alt 16.11.2005, 11:13  
Gast
 
Beiträge: n/a
Standard

:P
 
Alt 16.11.2005, 11:23  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Saraneus
... was die Kommastellen einfach abschneidet.
lol ist genial!
einfach abschneiden^^
ich hab u.a. mit $sourceArrayLength % 4 und dann mit if … rumexperimentiert
aber da ist der übelste code entstanden.

also noch mal danke … so einfach kann es sein wenn man weiß wie es geht
 
Alt 16.11.2005, 11:37  
Gast
 
Beiträge: n/a
Standard

Das ist erstmal nur Mathematik. Oft hilft's, auf einem Papier die Fälle durchzugehen
 
 


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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
Kategoriedaten rekursiv in Array bringen Schiedsrichter PHP Tipps 2008 2 10.12.2007 15:43
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
step7 array, array step7, php array abschneiden, step7 array deklarieren, php array teilen, array verarbeitung, array abschneiden php, array teilen php, php array verarbeitung, mehrdimensionaler array siemens init, s7 array initialisieren, step7 array schleife, s7 array deklarieren, step7 arrays, verarbeitung hinterkopf, array verarbeitung in schleife, step 7 array schleife, step 7 wie teilen zwei arrays, step7 schleife, arrayverarbeitung

Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 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.