burghi'sphp-dummies.de
PHP für Einsteiger und Fortgeschrittenere - an laufenden Scripten erklärt
10.09.2010, 02:29 Uhr - Impressum
Erstellt ein Array
Sortiert ein Array in umgekehrter Reihenfolge und behält die Verbindung zum Index
Sortiert ein Array und behält die Indexverbindungen
Sortiert ein Array nach Schlüsseln in umgekehrter Reihenfolge
Sortiert ein Array nach Schlüsseln
Sortiert ein Array in 'natürlicher Reihenfolge'
Gibt Variablen-Informationen in lesbarer Form aus
Sortiert ein Array in umgekehrter Reihenfolge
Sortiert ein Array
Arrays kann man (natürlich) auch sortieren.
Ganz einfache Arrays mit den Funktionen sort() und rsort().
sort() sortiert aufsteigent (A bis Z, 0 bis 9), rsort absteigend (Z bis A, 9 bis 0)

(Schau dir auch hier, wegen dem "print_r" den Quellcode an)
<?php
$DVD = array("Ocean's Eleven", "Herr der Ringe - Die zwei Türme", "Herr der Ringe - Die Gefährten",
"Das Leben des Brian", "Fluch der Karibik", "Ice Age", "Findet Nemo", "Fight Club", "Road Trip",
"American History X", "Roter Drache", "Stigmata");

print_r($DVD);     /* Ausgabe, so wie es von Natur aus ist */

sort($DVD);     /* aufsteigend sortieren */

print_r($DVD);     /* Ausgabe des nun aufsteigend sortierten Arrays */

rsort($DVD);     /* absteigend sortieren */

print_r($DVD);     /* Ausgabe des nun absteigend sortierten Arrays */
?>
Anders ist es aber, wenn man Arrays hat, bei denen die Indizes eine bestimmte Bedeutung, außer einer Reihenfolge, haben (wie z.B. $Color[Hintergrund] oder so)
Wie du erkennen wirst, sind nach dem Sortieren die Indizes nicht mehr vorhanden:
<?php
$Zahlen = array();
$Zahlen[drei] = 3;
$Zahlen[sechs] = 6;
$Zahlen[fünf] = 5;
$Zahlen[eins] = 1;
$Zahlen[vier] = 4;
$Zahlen[zwei] = 2;

sort($Zahlen);

print_r($Zahlen);
?>
Willst du die Indizes doch erhalten: asort (aufsteigend) und arsort() (absteigend):
<?php
$Zahlen = array();
$Zahlen[drei] = 3;
$Zahlen[sechs] = 6;
$Zahlen[fünf] = 5;
$Zahlen[eins] = 1;
$Zahlen[vier] = 4;
$Zahlen[zwei] = 2;

asort($Zahlen);
print_r($Zahlen);

arsort($Zahlen);
print_r($Zahlen);
?>
Und was wenn du nach dem Schlüssel, dem key, dem Index sortieren lassen möchtest ?
ksort() und krsort()
<?php
$Größe = array();
$Größe[Paul] = 1.76;
$Größe[Anton] = 1.82;
$Größe[Detlef] = 1.79;
$Größe[Horst] = 1.93;

print_r($Größe);

ksort($Größe);
print_r($Größe);

krsort($Größe);
print_r($Größe);
?>
Ui, und das is ja cool, das hab ich eben erst entdeckt.
natsort() sortiert Texte mit Zahlen, wie ein Mensch es tun würde.
<?php
$array = array("Platz 1", "Platz 2", "Platz 20", "Platz 101");

echo "Standardsortierung\n\n";
sort($array);
print_r($array);

echo "\n\nSortieren mit natürlicher Reihenfolge ( natsort() )\n\n";
natsort($array);
print_r($array);
?>
© 2004-2005 - Impressum