note 10625 deleted from function.array-multisort by irc-html
| From: | irc-html@php.net | Date: | Sat, 19 Jan 2002 21:05:53 +0000 |
| Subject: | note 10625 deleted from function.array-multisort by irc-html | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-25466@lists.php.net to get a copy of this message | ||
hi folks,
i have a simply sortfunction:
<pre>
<?
/* Anlegen eines Mehrdimensionales Array */
$ARTIKEL{"52608"} = array ("Name" => "Festplatte HD1",
"Preis" => "999,50","Menge"=>"2");
$ARTIKEL{"34256"} = array ("Name" => "Grafikkarte Monster D3",
"Preis" => "1395,99","Menge"=>"4");
$ARTIKEL{"99999"} = array ("Name" => "festplattenkontroller",
"Preis" => "1999,49","Menge"=>"44");
$ARTIKEL{"34257"} = array ("Name" => "Grafikkarte Monster D2",
"Preis" => "1999,99","Menge"=>"25");
/* Im 1. Durchgang nach Artikelnummer sortieren */
echo "Sortiert nach: Artikelnummer\n\n";
/* Wir sortieren das ARRAY nach Artikelnummer */
ksort ($ARTIKEL);
/* ARRAY ausgeben */
GEBE_MEIN_ARRAY_ZURUECK($ARTIKEL);
/* Im 2. Durchgang sortieren ARRAY nach Preis sortieren */
echo "Sortiert nach: Artikelpreis\n\n";
/* $FELD = Gibt an welches Feld im ARRAY sortiert werden soll */
$FELD="Preis";
/* Wir sortieren das ARRAY nach Preis */
usort ($ARTIKEL, MEINE_SORTIER_FUNKTION);
/* ARRAY ausgeben */
GEBE_MEIN_ARRAY_ZURUECK($ARTIKEL);
/* Im 3. Durchgang sortieren ARRAY nach Name sortieren */
echo "Sortiert nach: Artikelname\n\n";
/* $FELD = Gibt an welches Feld im ARRAY sortiert werden soll */
$FELD="Name";
/* Wir sortieren das ARRAY nach Preis */
usort ($ARTIKEL, MEINE_SORTIER_FUNKTION);
/* ARRAY ausgeben */
GEBE_MEIN_ARRAY_ZURUECK($ARTIKEL);
/* Im 4. Durchgang sortieren ARRAY nach Menge sortieren */
echo "Sortiert nach: Artikelmenge\n\n";
/* $FELD = Gibt an welches Feld im ARRAY sortiert werden soll */
$FELD="Menge";
/* Wir sortieren das ARRAY nach Preis */
usort ($ARTIKEL, MEINE_SORTIER_FUNKTION);
/* ARRAY ausgeben */
GEBE_MEIN_ARRAY_ZURUECK($ARTIKEL);
/* Sortierfunktion */
function MEINE_SORTIER_FUNKTION ($a, $b) {
/* $FELD soll uns in dieser Funktion zur Verfuegung stehen */
GLOBAL $FELD;
return strnatcasecmp($a[$FELD],$b[$FELD]);
}
/* Arrayausgabefunktion */
function GEBE_MEIN_ARRAY_ZURUECK($TRASH){
while ( list($key, $value) = each($TRASH) ) {
echo $TRASH{$key}{"Name"}." -> ".$TRASH{$key}{"Preis"}."
-> ".$TRASH{$key}{"Menge"}."<br>";
}
echo "\n\n";
}
?>
</pre>