Sortieren eines 2-dim Arrays (php3_array_multisort)


<html><head><title>Anzeige</title></head> <body bgcolor="#eeeeee"><pre> <h2>Sortieren eines 2-dim Arrays (php3_array_multisort)</h2><hr noshade size=1> <?php // ======= Funktion: php3_array_multisort ======================= // // Vergleicht zwei Assoz.-Array nach deren "values" function CmpAssozArrays($a,$b){ return strcmp(implode("",$a),implode("",$b)); } // Sortiert 2-dim-Assoz.-Array nach Values (~= array_multisort bei PHP4) function php3_array_multisort($arr_2Dim){ usort($arr_2Dim,CmpAssozArrays); // Sortieren mit Sortier-Fktion return $arr_2Dim; } // ======= Programm-Ablauf ====================================== // // Initialisierung des Array $arr = array(); $arr[] = array("color" => "#ff0000", "font-size" => "10pt" ); $arr[] = array("color" => "#00ff00", "font-size" => "12pt" ); $arr[] = array("color" => "#0000ff", "font-size" => "14pt" ); $arr[] = array("color" => "#0000ff", "font-size" => "10pt" ); // unsortierte Ausgabe des Array echo "\n<b>Unsortiert</b>"; for($i=0;$i<count($arr);$i++) { echo "<hr align=\"left\" width=50%>"; for(reset($arr[$i]); $key = key($arr[$i]); next($arr[$i]) ) { echo ($i+1).": <b>$key</b> : "; echo $arr[$i][$key]."</a>&nbsp;\n"; } } // sortierte Ausgabe des Array $arr = php3_array_multisort($arr); echo "\n<hr noshade align=\"left\" width=\"90%\">\n<br><b>Sortiert</b>"; for($i=0;$i<count($arr);$i++) { echo "<hr align=\"left\" width=50%>"; for(reset($arr[$i]); $key = key($arr[$i]); next($arr[$i]) ) { echo ($i+1).": <b>$key</b> : "; echo $arr[$i][$key]."</a>&nbsp;\n"; } } ?> </pre></body></html>