SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.09.2007, 21:58:39
Benutzerbild von maiskolben
maiskolben maiskolben ist offline
Junior Member
 
Registriert seit: Aug 2006
Ort: Bremen
Alter: 43
Beiträge: 247
Wie Array aufteilen?

Mal angenommen ich habe dies Array hier...
HTML-Code:
Array
(
    [eins] => 001|92838838|text|text|text|text|text|text|text|text
    [zwei] => 001|92838838|text|text|text|text|text|text|text|text
    [drei] => 001|92838838|text|text|text|text|text|text|text|text
    [vier] => 001|92838838|text|text|text|text|text|text|text|text
)
Ich möchte gern dieses Array in die Keys aufteilen, und den String einzeln zu einem Array machen.

So zum Beispiel:
HTML-Code:
Array
(
    [eins] => 001|92838838|text|text|text|text|text|text|text|text
)
Array
(
    [zwei] => 001|92838838|text|text|text|text|text|text|text|text
)
usw.

Am besten wäre das doch über eine Schleife, oder?
__________________
Worte haben Macht - nichts...
Mit Zitat antworten
  #2  
Alt 03.09.2007, 22:51:47
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Wie Array aufteilen?

Zitat:
Zitat von maiskolben Beitrag anzeigen
Am besten wäre das doch über eine Schleife, oder?
Ja...

Aber wozu soll das gut sein?
Du willst aus einem schön übersichtlichen, zweidimensionalen Array n Einzelarrays machen, wozu?
Deine Sortierprobleme löst du so nicht... (falls es noch darum geht)




PS:
Was hast du bloß mit dieser bekackten txt-Datei vor?!?

Du liest und splittest und sortierst da doch schon die ganze Zeit herum. Müßtest du nicht langsam mal alles beisammen haben?
;-)

Vor allem hattest du die Zeilen doch bei deinem Sortierproblem schon auseinander gepflückt!?!

Geändert von Raketenmann (03.09.2007 um 22:52:07 Uhr)
Mit Zitat antworten
  #3  
Alt 03.09.2007, 23:27:09
Benutzerbild von maiskolben
maiskolben maiskolben ist offline
Junior Member
 
Registriert seit: Aug 2006
Ort: Bremen
Alter: 43
Beiträge: 247
AW: Wie Array aufteilen?

ich möchte einfach, dass meine bekackten neuen einträge nach datum, also die neuen zuerst, die alten zuletzt angezeigt werden....
__________________
Worte haben Macht - nichts...

Geändert von maiskolben (05.09.2007 um 23:32:37 Uhr)
Mit Zitat antworten
  #4  
Alt 03.09.2007, 23:46:14
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Wie Array aufteilen?

PHP-Code:
$z_elem=array();
$zeilen=file('index.txt');  // Deine Datei
  
for($z=0;$z<count($zeilen);$z++)
    {
        
$tarr=explode("|",$zeilen[$z]);
        if(
$tarr[0]=='001')
            {
                 
$z_elem[$tarr[1]]=$zeilen[$z];
            }
    }

krsort($z_elem);

print_r($z_elem); 
Das sollte die Datei auslesen, die 001er raussortieren und absteigend nach Timestamps sortieren. Die Schlüssel von $z_elem entsprechen den Timestamps aus den Zeilen.

Geändert von Raketenmann (03.09.2007 um 23:50:46 Uhr)
Mit Zitat antworten
  #5  
Alt 04.09.2007, 17:27:01
Benutzerbild von maiskolben
maiskolben maiskolben ist offline
Junior Member
 
Registriert seit: Aug 2006
Ort: Bremen
Alter: 43
Beiträge: 247
AW: Wie Array aufteilen?

Vielen Dank Raketenmann!
Das ist das, was ich eigentlich brauche, und es ist sehr gut, dass das Script nicht so ewig lang ist!

Allerdings gibt es noch ein Problem:
Wenn Beiträge am selben Tag geschrieben wurden, dann ist der Timestamp derselbe, und jeweils der letzte Eintrag überschreibt den davor...

Hmmm, ich poste Dir mal Deinen von mir modifizierten Code...

PHP-Code:
$z_elem = array();
  
for(
$z=0;$z<count($zeilen);$z++)
{
    
$tarr explode("|",$zeilen[$z]);
   if(
$tarr[0] == '001')
    {                                  
        
$datum explode('/'$tarr[1]);
        
$bz mktime(0,0,0$datum[1], $datum[0], $datum[2]);
       
        
$z_elem[$bz] = $zeilen[$z];
        
        
krsort($z_elem);           
       
$element explode("|",$z_elem[$bz]);

       
// Template einbinden und Variablen ausgeben!
         
include ($_SERVER['DOCUMENT_ROOT']) . ('/template.html');
        
    }
}
print_r($bz); 
($element wird später das Array in dem jede einzelne Ziele als Array drin ist, und ich es über das Template ansprechen kann...)
__________________
Worte haben Macht - nichts...
Mit Zitat antworten
  #6  
Alt 04.09.2007, 17:55:43
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
AW: Wie Array aufteilen?

Nimm doch einfach http://www.selfphp.info/forum/showpo...64&postcount=4 anstatt des Rumgewurstels hier.
Mit Zitat antworten
  #7  
Alt 04.09.2007, 18:41:28
Benutzerbild von maiskolben
maiskolben maiskolben ist offline
Junior Member
 
Registriert seit: Aug 2006
Ort: Bremen
Alter: 43
Beiträge: 247
AW: Wie Array aufteilen?

Vielen Dank Defabricator!
Aber das erscheint mir plausibeler als das Script von Dir!
Weisst Du, ich bin doch so ein richtiger Anfänger, und ich blicke bei Deinem Script nicht durch!

Aber vielen Dank...
__________________
Worte haben Macht - nichts...
Mit Zitat antworten
  #8  
Alt 04.09.2007, 18:59:26
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
AW: Wie Array aufteilen?

Zitat:
Zitat von maiskolben Beitrag anzeigen
Aber das erscheint mir plausibeler als das Script von Dir!
Weisst Du, ich bin doch so ein richtiger Anfänger, und ich blicke bei Deinem Script nicht durch!
Hm, lass es mich so sagen: Dass Du Anfänger bist und nicht durchblickst, bedeutet nicht, dass weniger plausibel ist. Es heißt nur, dass Du es nicht beurteilen kannst.

Welchen Teil verstehst Du nicht?

Geändert von defabricator (04.09.2007 um 19:00:10 Uhr)
Mit Zitat antworten
  #9  
Alt 05.09.2007, 14:33:25
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: Wie Array aufteilen?

@defabricator

Zitat:
Zitat von defabricator Beitrag anzeigen
... nicht durchblickst, bedeutet nicht, dass weniger plausibel ist.
...damit hast du zweifelsohne Recht, aber

Zitat:
Zitat von defabricator Beitrag anzeigen
Welchen Teil verstehst Du nicht?
Den Teil an dem du fest machst, dass dein plausibler Ansatz weniger rumgewurstel ist als meiner...

Denn grunsätzlich läuft das Gleiche ab, ich verwende lediglich keine extra Funktion zur Bildung der Timestamps und krsort() bzw. jetzt array_multisort() statt deiner usort()-Custom-Funktion. Daran kann ich kein Problem erkennen! ...hast du damit irgendein "Style"-Problem?

PS:
Wenn man einem Anfänger Skripte zur Verfügung stellt und sich mit seinem Ansatz wichtig macht, kann man ihm ruhig dazuschreiben, dass einem fopen() auch ein fclose() zu folgen hat...
...nur mal so zum Thema "Style".



@maiskolben

Nun denn.. du wurstelst also auch lieber herum? ;-)

Die Timestamps sind alle gleich, weil immer die gleiche Uhrzeit verwendet wird. Dann eben doch mit array_multisort().

Wenn du das Ergebnis als 2D Array namens $elemente für dein Template brauchst, kann man das auch direkt reinschreiben...

...und laß bitte beim Übernehmen des Bsp. sowohl die Sortierfunktion als auch dein include() hinter der Schleife stehen, es reicht wenn diese beiden Zeilen einmal ausgeführt werden.

PHP-Code:
$elemente=array(); 
$ts_sort=array();
$zeilen=file('index.txt');  // Deine Datei 
   
for($z=0;$z<count($zeilen);$z++) 
    { 
        
$tarr=explode("|",$zeilen[$z]); 
        if(
$tarr[0]=='001'
            { 
                 
$ts_arr=explode("/",$tarr[1]);
                 
$tarr[1]=mktime(0,0,0,$ts_arr[1],$ts_arr[0],$ts_arr[2]);
                 
$ts_sort[]=$tarr[1];
                 
$elemente[]=$tarr
            } 
    } 

array_multisort($ts_sort,SORT_DESC,$elemente);

// Template einbinden und Variablen ausgeben! 
include ($_SERVER['DOCUMENT_ROOT']) . ('/template.html'); 
Mit Zitat antworten
  #10  
Alt 05.09.2007, 15:07:58
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
AW: Wie Array aufteilen?

Zitat:
Zitat von Raketenmann Beitrag anzeigen
Den Teil an dem du fest machst, dass dein plausibler Ansatz weniger rumgewurstel ist als meiner...
Nicht Dein rumgewurstel sondern das von maiskolben. Also nicht gleich auf den Schlips getreten fühlen, ok?
Zitat:
Zitat von Raketenmann
PS:
Wenn man einem Anfänger Skripte zur Verfügung stellt und sich mit seinem Ansatz wichtig macht, kann man ihm ruhig dazuschreiben, dass einem fopen() auch ein fclose() zu folgen hat...
...nur mal so zum Thema "Style".
Hm, wer macht sich denn hier nun wichtig? Uhhh... jetzt muss sich PHP selbst um die offene Resource kümmern. Das ist ja eine Katastrophe.
Mit Zitat antworten
Antwort


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

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

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

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrdimensionales Array sortieren MrLongbaugh PHP Grundlagen 10 06.03.2008 13:02:47
array probleme :) stefan600 PHP Grundlagen 1 14.05.2007 11:18:48
Array sortierten sinfo PHP für Fortgeschrittene und Experten 4 26.11.2006 16:26:57
array im array SolidBody PHP Grundlagen 3 20.07.2006 14:38:41
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 14:36:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:23:02 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt