Hash nach Werten ordnen? /wundersame Zeilenvermehrung
Martin
- perl
0 Sönke Tesch0 Cheatah
Hallo,
angenommen, ich habe den folgenden Hash:
%Daten = (Egon => 12, Franziska => 23, Rudi => 1);
und möchte diesen nach den values sortieren, wie mache ich das? Nach den Namen ordnen ginge ja noch, aber nach Werten?
zweite Frage: wenn ich den Inhalt eines textarea- Feldes übermittle und das Script diesen Inhalt in ein File schreiben lasse, funktioniert alles wunderbar. Wenn ich die Daten aber direkt wieder auf die Standardausgabe in ein textarea schreibe (z.b. wenn bei einem guestbook nicht alle notwendigen felder ausgefüllt werden), kommt es zu einer wundersamen Zeilenvermehrung, aus 1 wird 2 (Jesses :-).
Bin sicher nicht der einzige, bei dem dieses Problem schon aufgetaucht ist...
*grübel*
Martin
%Daten = (Egon => 12, Franziska => 23, Rudi => 1);
und möchte diesen nach den values sortieren, wie mache ich das?
Nach den Namen ordnen ginge ja noch, aber nach Werten?
Die PHP-Anleitung, Kapitel "Function Reference", Abschnitt "Array Functions" sagt mir, ksort() und asort() seien deine Freunde.
zweite Frage: wenn ich den Inhalt eines textarea- Feldes
übermittle und das Script diesen Inhalt in ein File schreiben
lasse, funktioniert alles wunderbar. Wenn ich die Daten aber
direkt wieder auf die Standardausgabe in ein textarea schreibe
(z.b. wenn bei einem guestbook nicht alle notwendigen felder
ausgefüllt werden), kommt es zu einer wundersamen
Zeilenvermehrung, aus 1 wird 2 (Jesses :-).
Das würde ja bedeuten, daß du irgendwo noch einen Zeilenumbruch einbaust bzw. eingebaut bekommst. Hast du mal mit var_dump() geprüft, was du von dem Formular bekommst? Wenn von da nichts kommt, mußt du wohl deinen Quelltext nochmal nach \n's durchforsten.
Oder wird etwa jede Zeile doppelt ausgegeben?
Gruß,
soenk.e
%Daten = (Egon => 12, Franziska => 23, Rudi => 1);
und möchte diesen nach den values sortieren, wie mache ich das?
Nach den Namen ordnen ginge ja noch, aber nach Werten?
Die PHP-Anleitung, Kapitel "Function Reference", Abschnitt "Array
Functions" sagt mir, ksort() und asort() seien deine Freunde.
Ok, ich stelle mich sofort in die Ecke.
|
Diese hier ---> _____|
soenk.e
Hi,
und möchte diesen nach den values sortieren, wie mache ich das? Nach den Namen ordnen ginge ja noch, aber nach Werten?
perldoc -f sort
my @sortedkeys = sort { $hash{$a} <=> $hash{$b} } keys %hash;
zweite Frage: wenn ich den Inhalt eines textarea- Feldes übermittle und das Script diesen Inhalt in ein File schreiben lasse, funktioniert alles wunderbar. Wenn ich die Daten aber direkt wieder auf die Standardausgabe in ein textarea schreibe (z.b. wenn bei einem guestbook nicht alle notwendigen felder ausgefüllt werden), kommt es zu einer wundersamen Zeilenvermehrung, aus 1 wird 2 (Jesses :-).
Mit welchen Umbrüchen arbeitest Du (Win, Unix, Mac) auf Quell- und Zielsystem? Fügst Du beim Schrieben neue dazu? chompst Du vorher (perldoc -f chomp)? Wie sehen die gespeicherten Daten aus, wenn Du die Datei direkt anguckst?
Cheatah