Der folgende Beitrag wurde am 24. 08. 2005, 10:27 Uhr von Sahra veröffentlicht.
Hallo meine lieben Forenleser und Helfer,
ich habe da mal eine kleine Frage, weil alle Antworten im Netz mich verwirren. Ich würde gerne ein Array füllen.
$temp = array();
for(..){
array_push($temp,"name","vorname");
}
So geht das natürlich nicht. Aber ich möchte dann nachher nachdem Vor- oder Nachnamen sortieren können.
Kann mir jemand sagen, wie das geht?
Bis dann
Sahra
Der folgende Beitrag wurde am 24. 08. 2005, 10:34 Uhr von Alexander Brock veröffentlicht.
Hallo Freunde des gehobenen Forumsgenusses,
> So geht das natürlich nicht. Aber ich möchte dann nachher nachdem Vor- oder Nachnamen sortieren können.
Da gibt es zwei Möglichkeiten:
1. ein Assoziatives Array
$temp = array();
$temp[$vorname] = $nachname;
// oder $temp[$nachname] = $vorname;
Vorteile:
Einfache Sortierung mit den PHP-Sortierfunktionen.
Nachteile:
Es kann zu jedem Vornamen (Nachnamen) nur einen Nachnamen (Vornamen) geben.
2. Ein 2-Dimensionales Array
$temp = array();
$temp[] = array($vorname, $nachname);
// eindeutiger: $temp[] = array('vorname' => $vorname, 'nachname' => $nachname);
Vorteile:
Es kann beliebig viele "Max Mustermann" geben
Nachteile:
K.a., wie man das sortiert, das geht aber garantiert irgendwie.
Gruß
Alexander Brock
--
Ceterum censeo Carthaginem esse delendam
Der folgende Beitrag wurde am 24. 08. 2005, 10:37 Uhr von Sahra veröffentlicht.
Hi,
na das ist ja hilfreich. Das sortieren ist schon wichtig. Mal sehen ob das hier noch jemand weiß, vielleicht finde ich ja auch was...
Danke erstmal..
Der folgende Beitrag wurde am 24. 08. 2005, 10:40 Uhr von Sahra veröffentlicht.
Und die Ausgabe,
ist glaube ich auch anders, oder?
Bis dann
Sahra
Der folgende Beitrag wurde am 24. 08. 2005, 11:56 Uhr von der Flo(H) veröffentlicht.
http://de3.php.net/manual/en/function.usort.php
Schau dir auch mal die Userkommentare an.
Der folgende Beitrag wurde am 24. 08. 2005, 11:42 Uhr von dedlfix veröffentlicht.
echo $begrüßung;
> 2. Ein 2-Dimensionales Array
> K.a., wie man das sortiert, das geht aber garantiert irgendwie.
Ja, z.B. mit einer selbst geschriebenen Vergleichsfunktion und usort() oder uasort().
echo "$verabschiedung $name";
Der folgende Beitrag wurde am 24. 08. 2005, 12:26 Uhr von fastix® veröffentlicht.
Moin!
> $temp = array();
>
> for(..){
> array_push($temp,"name","vorname");
> }
>
$arPersonen=array();
legt ein Array an.
for ($i....) {
# i von 0 bis ... ???
$arPersonen[$i]=array();
# Das Array-Element wird selbst zum Array
$arPersonen[$i]['nname']='Max';
$arPersonen[$i]['vname']='Mustermann';
}
# Zum Sortieren ein Hilfsarray 'bauen':
$strSchluessel='vname'; #Wonach soll sortiert werden?
for ($i....) {
# siehe oben, muss den gleichen Gang nehmen
$arTemp['$i']= $arPersonen[$i][$strSchluessel];
}
# Hilfsarray sortieren
# asort -- Sortiert ein Array und behält die Indexverbindungen
asort($arTemp);
# Das Array $arTemp ist jetzt sortiert
while (list ($key) = each ($arTemp)) {
# numerischer $key:
$key=(int)$key;
# Kein weiterer Umweg Ausgabe des ursprünglichen Arrays:
echo $arPersonen[($key)]['nname'].', '.$arPersonen[($key)]['vname']."<br>\n";
}
--- ungetestet, kann Fehler enthalten ---
Gegenfrage: Wo kommen denn die Daten des Arrays her?
Datenbank: nutze deren Funktionen
File: unix hat den netten, schnellen und mächtigen Befehl 'sort'. Eventuell solltest Du den benutzen.
Beispieldatei:
Max;Mustermann
Hans;Meier
Hein;Stein
Das Einlesen der Datei geht dann so: $strDateiInhalt=system("sort -t\; -k2 $file")
Einlesen des nach nach Spalte 1, dann Spalte 2 sortierten Datei, Spaltentrenner ist ';' (Das Semikolon muss für die Shell maskiert werden.)
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4