Ich habe eine Reihe von Mitarbeiterdaten, mit denen ich arbeite, die ich in JSON konvertieren und an ein Plugin übergeben, um ein Organigramm zu erstellen. Das Organigramm hat mehrere Ebenen und mein Ziel ist es, diese Ebenen farblich zu kodieren, um die verschiedenen Organisationen anzuzeigen.PHP Iterate über Array und Schlüssel/Wert einfügen
Mein Array ist verschachtelt und hat die manager
und die children
.
Ich versuche herauszufinden, wie ich über dieses Array Schleife und eine Farbe für die verschiedenen Ebenen zuweisen kann.
Zum Beispiel wäre die erste Ebene des Arrays blau, die nächste Ebene wäre rot usw. Alles, was ich tun muss, ist einen Schlüssel für class
und dann seinen Wert, der levelx wäre (wo x ist die Anzahl der Ebenen tief ist es).
Das Endziel hier ist nur in der Lage herauszufinden, wie Sie den gleichen Schlüssel/Wert auf alle Datensätze auf der gleichen Ebene hinzufügen.
Hier ist ein Beispiel für das Array mit der class key
im Spiel.
Gibt es irgendwelche PHP-Funktionen, die ihre Ebene innerhalb eines verschachtelten Arrays bestimmen können, die das vereinfachen?
Array
(
[0] => Array
(
[QID] => Q1234
[MgrQID] => Array
(
)
[NTID] => xxxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => Bob Jones
[class] => level1
[CountOfDirects] => 9
[children] => Array
(
[0] => Array
(
[QID] => Q56789
[MgrQID] => 1234
[NTID] => xxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => Tim Cook
[class] => level2
[CountOfDirects] => 0
[children] => Array
(
)
)
[1] => Array
(
[QID] => Q5678
[MgrQID] => Q1234
[NTID] => xxxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => Bob Tom
[class] => level2
[CountOfDirects] => 0
[children] => Array
(
)
)
[2] => Array
(
[QID] => Q9999
[MgrQID] => Q1234
[NTID] => xxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => xxxx
[class] => level2
[CountOfDirects] => 0
[children] => Array
(
)
)
[3] => Array
(
[QID] => Q6665
[MgrQID] => Q1234
[NTID] => xxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => xxxx
[class] => level2
[CountOfDirects] => 6
[children] => Array
(
[0] => Array
(
[QID] => Q4322
[MgrQID] => Q6665
[NTID] => xxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => xxxx
[class] => level3
[CountOfDirects] => 0
[children] => Array
(
)
)
[1] => Array
(
[QID] => Q3333
[MgrQID] => Q6665
[NTID] => xxxx
[MgrNTID] => xxxx
[title] => xxxx
[MgrName] => xxxx
[name] => xxxx
[class] => level3
[CountOfDirects] => 0
[children] => Array
(
)
)
)
)
)
)
)
Haben Sie ein Level-Limit? –
@RayannNayran Es gibt keine Grenzen. Dies kann 5 Stufen tief oder 20 Stufen tief sein, abhängig davon, wie viele Mitarbeiter unter die Person fallen, die gerade angesehen wird. – SBB
Haben Sie versucht, etwas zu implementieren? –