Wie Sie die Gruppe ein mehrdimensionales array nach einer bestimmten subarray Wert?
Ich habe ein mehrdimensionales array und versuche, um Sie zu gruppieren nach Wert in einer bestimmten Spalte.
Ich versuche, diese Gruppe von level
, aber ich will nicht wirklich wissen, das Niveau vorher. Also, es ist nicht so, ich kann es in einem for
Schleife und sagen while $i < 7
, weil ich nicht weiß, dass 7
ist der maximale Wert für die level-Taste, und ehrlich gesagt, ich bin mir nicht sicher, das ist, wie ich brauchen würde, um es tun, auch wenn ich nicht...
Array (
[0] => Array (
[cust] => XT8900
[type] => standard
[level] => 1
)
[1] => Array (
[cust] => XT8944
[type] => standard
[level] => 1
)
[2] => Array (
[cust] => XT8922
[type] => premier
[level] => 3
)
[3] => Array (
[cust] => XT8816
[type] => permier
[level] => 3
)
[4] => Array (
[cust] => XT7434
[type] => standard
[level] => 7
)
)
Was ich mir erhoffe zu produzieren:
Array (
[1] => Array (
[0] => Array (
[cust] => XT8900
[type] => standard
)
[1] => Array (
[cust] => XT8944
[type] => standard
)
)
[3] => Array (
[2] => Array (
[cust] => XT8922
[type] => premier
)
[3] => Array (
[cust] => XT8816
[type] => permier
)
)
[7] => Array (
[4] => Array (
[cust] => XT7434
[type] => standard
)
)
)
- Bitte verzeihen Sie mir, rühren, bis diese alte Frage, aber erwarten Sie, dass die äußeren Tasten zu ASC? Ist dein input-array bereits bestellt-Ebene? (denn das ist das, was gepostet wird). Schauen Sie, wie die akzeptierte Antwort verhält sich mit einem un-geordnete Arrays input: sandbox.onlinephpfunctions.com/code/... am wichtigsten ist: diese Daten kommen aus einer Datenbank?
- Viele Antworten nicht erhöhen, die subarray-Tasten. Tun Sie _actually_need die subarray-Tasten erhöht werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie diese Gruppe von Ebene ersten
Verwenden foreach Schleife in ein array prüfen, wenn das Niveau ist das gleiche mit dem vorherigen Element, das dann die Gruppe, der es mit diesem array
Die Ausgabe von print($grouparr); zeigt, wie das format, die Sie sich erhofft
Können Sie auch versuchen,
Zeigt
Oder
Zeigt
Beste Weg, wenn Sie die Kontrolle über den Bau des ersten array ist nur ein set-up am start, wie Sie Einträge hinzufügen.
Wenn nicht, dann erstellen Sie einen temporären array zu Sortieren:
Blättern Sie mit der form, die Sie wollten, und alles verwiesen zusammen.
Bauen Sie das array wie das in den ersten Platz, obwohl, wenn überhaupt möglich.
account_id
hat nichts zu tun mit dieser Frage. Aus all diesen Gründen bin ich überrascht, dass Sie gewonnen hat so viele upvotes und ich habe downvoted als eine Frage des Prinzips. Beweis: sandbox.onlinephpfunctions.com/code/... ich habe Sorge um die Qualität der alten Inhalte auf dieser Website, weil ich es verwenden, um zu schließen, neue Fragen, wenn angemessen.Hier ist die Lösung, die ich landete auf eine identische problem, eingewickelt wie eine Funktion:
Sortieren $myarray durch den Schlüssel mit dem Namen "Ebene" nur dazu:
Oder wenn Sie nicht wollen, dass es wie eine Funktion, nur für den einmaligen Gebrauch, würde $myNewArray von $myArray gruppiert, indem Sie die Taste "level"
Besten ans.
$key
und$keyName
gemeint sind, zu halten. Ich habe downvoted diese Antwort, weil ich nicht den Sinn dahinter und ich weiß nicht, welche Werte feed die Funktion.