php, codeschnipsel, php beispielen
PHP - Arrays mit von PHP zur verfügung gestellten Funktionen sortieren
Hypertext Preprocessor

Navigation
Home
Fachbücher
Support Forum
Webmaster News
Script Newsletter
Kontakt
Script Installation
Php
Php Tutorials
Impressum

Userbereich
kostenlos Anmelden
Memberliste

Script Datenbank
Script Archiv
Script Top 20
Screenshots
Testberichte

Suche

 
Script Seite

Unsere Php Scripts
Counter Script
Umfrage Script
Bilder Upload Script
Terminverwaltung
Simple PHP Forum
RSS Grabber

Script Mods
phpBB Adsense Mode

Tools und Generatoren
.htpasswd Generator
md5 Generator
base64 Generator
ICQ Generator
Colorpicker
Unix timestamp Tool
TLD Liste
Webkatalog Verzeichnis

yellowgrey.de
Bei den Anbieter yellowgrey.de bekommt man alles w...

luminea.de
Bei den Anbieter bekommt man über 106 unterschiedl...

weitere Anbieter
PHP Space Community auf Facebook PHP Space Community auf Twitter RSS Feeds der PHP Space Community

 

Statistik
13 Gäste Online
0 Member Online
736 Besucher heute
1186 Besucher gestern
 

Arrays mit von PHP zur verfügung gestellten Funktionen sortieren

Sie befinden sich: Home > Php > Arrays sortieren

Um Arrays sortieren zu können bietet PHP einige sehr komfortable Funktionen an. Da diese Funktionen praktisch selbsterklärend sind folgen ein paar Beispiele mit den dazugehörigen Ausgaben.

 1 <?php
 2 $array1 
$array2 = array("bild12.gif", "bild10.gif""bild2.gif""bild1.gif");
 3
 4
sort($array1);
 5 echo 
"Standard";
 6
print_r($array1);
 7
 8
natsort($array2);
 9 echo 
"natürlich";
10
print_r($array2);
11
?>

Dieses Programm liefert folgende Ausgabe :

Standard

Array
(
[0] => bild1.gif
[1] => bild10.gif
[2] => bild12.gif
[3] => bild2.gif
)

natürlich

Array
(
[3] => bild1.gif
[2] => bild2.gif
[1] => bild10.gif
[0] => bild12.gif
)

Es ist einfach zu erkennen das die natürliche Sortierung einer im Alltag üblichen gleicht. Betriebsysteme sortieren gelegentlich Dateien nach der Standardmethode so das es Anfängern oft schwer fällt Dateien zu finden.

Um Arrays sortieren zu können die über Feldindizes verfügen findet die Funktion sort(); anwendung.

1 <?php
2 $text 
= array("Ich""bin""ein""testtext");
3
sort($text);
4
//rsort($text); // Siehe Text
5
foreach ($text as $key => $val) {
6     echo 
"text[" $key "] = " $val;
7 }
8
?>

Das sortierte Array würde wie folgt ausgegeben

text[0] = bin
text[1] = ein
text[2] = Ich
text[3] = testtext

Die Funktion kann rekursiv verwendet werden, hierzu wird rsort(); verwendet. Für das sort(); Beispiel sähe die Ausgabe dann so aus:

text[0] = testtext
text[1] = Ich
text[2] = ein
text[3] = bin

Da PHP die Möglichkeit bietet assoziative Feldindizes zu verwenden gibt es eine spezielle Funktion ( inclusive einer rekursiven Funktion ) um diese zu sortieren:

1 <?php
2 $text 
= array("d"=>"Ich""a"=>"bin", "c"=>"ein""b"=>"testtext");
3
ksort($text);
4
//krsort($text); // Siehe Text
5
foreach ($text as $key => $val) {
6     echo 
"text[" $key "] = " $val;
7 }
8
?> 

Sortiert ausgegeben :

a = bin
b = testtext
c = ein
d = Ich

Rekursiv mit krsort();

d = Ich
c = ein
b = testtext
a = bin

Grade bei Verwendung von assoziativen Arrays kommt es häufiger vor das nicht nach Indizes sortiert werden soll, sondern nach den Feldinhalten selber. Um dies zu erreichen verwendet man asort(); oder rekursiv arsort();

1 <?php
2 $text 
= array("d"=>"Ich""a"=>"bin", "c"=>"ein""b"=>"testtext");
3
asort($text);
4
//arsort($text); // Siehe Text
5
foreach ($text as $key => $val) {
6     echo 
"text[" $key "] = " $val;
7 }
8
?> 

Sortiert ausgegeben :

a = bin
c = ein
d = Ich
b = testtext

Rekursiv mit krsort();

d = testtext
b = Ich
c = ein
a = bin

Eine Beschreibung der Funktionen uksort(); und uasort();, die ebenfalls von PHP bereit gestellt werden, bei denen man eigene Algorithmen angeben kann nach denen die Arrays sortiert werden sollen, würden den Rahmen dieser Abhandlung sprengen, zumal hierfür Funktionsprototypen geschrieben werden müssten.

Man kann ein Array auch über einen so genannten Bubblesort sortieren. Dieser verbraucht aber Ressourcen und man sollte lieber die von PHP zur Verfügung gestellten Funktionen verwenden. Wenn sie noch weitere Fragen zu der Sortierung von einen Array haben, so können sie direkt in unserem Forum eine Frage stellen.




weiter if Anweisung in Php

Was ist PHP ?