Hello,
Ich habe ein mehrdimensionales Array das so aufgebaut ist:
$array["b"]["prio"] = 3;
$array["a"]["prio"] = 1;
$array["c"]["prio"] = 2;Ich möchte es nach "prio" sortieren, also folgendes Ergebnis erhalten:
$array["a"]["prio"] = 1;
$array["c"]["prio"] = 2;
$array["b"]["prio"] = 3;
Du hast und nur einen Teil des Arrays gezeigt.
$array["b"]["prio"] = 3;
['name'] = 'Mendel'
['vorname'] = 'Julian';
$array["a"]["prio"] = 1;
['name'] = 'Schmieder'
['vorname'] = 'Thomas';
$array["c"]["prio"] = 2;
['name'] = 'Paulsen'
['vorname'] = 'Paul';
Ich habe mir mal erlaubt, die mehdimensionale Struktur zu ergänzen.
Um das Ganze nun möglichst praktisch zu gestalten, müsstes Du mal erzählen, was denn a,b,c für eine Bedeutung haben. Wenn es sich dabei nämlich nur um den Elemente-Index des Arrays handeln sollte, der selber keine eigene Bedeutung hat, dann kann man das Array auch anders herum aufbauen. Das mag auf den ersten Blick verwirrend sein, da wir und ja eine hierarchische Gliederung anders herum vorstellen, aber es vereinfachtr Vieles.
$array["prio"]['b'] = 3;
["prio"]['a'] = 1;
["prio"]['c'] = 2;
$array['name']['b'] = 'Mendel'
['name']['a'] = 'Schmieder'
['name']['c'] = 'Paulsen'
$array['vorname']['b'] = 'Julian';
['vorname']['a'] = 'Thomas';
['vorname']['c'] = 'Paul';
Nun kannst Du jeden Zweig für sich sortieren.
Je nachden, nach welcher Soritierung U das Array nun durchlaufen willst, nimmst Du die Klasse (prio,name,vorname) ins Argunemt der foreach()-Schleife
foreach($array['prio'] as $key => $val)
{
echo "Priorität: ".$array['prio'][$key]."<br >"; # hier könnte nmna jetzt auch $val nehmen
echo "Vorname : ".$array['vorname'][$key]."<br >";
echo "Nachname : ".$array['nachname'][$key]."<br >";
}
Wie Du siehst, lässt sich ein solches Arra nun in Nullkommanix nach jeder Dimension sortiert ausgeben. Ich ahbe extra auf die Verwendung von $val in der Ausgabe verzichtet, weil der Ausgabeblock so allgemeingültig ist, und nur das Foreach-Argument getauscht werden muss.
Für die Harmonisierung der Instanzen-Multiplikatoren (a,b,c,...) musst Du natürlich sorgen.
Aber in einem Datensatz einer Tabelle fehlt ja auch nicht plötzlich ein Feld ;-)
Ich hoffe, dass Die diese Betrachtung irgendwann mal hilft.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau