私は、従業員データの配列をJSONに変換し、プラグインに渡してorgチャートを作成しています。組織図には複数のレベルがあり、私の目標はそれらのレベルを色分けしてさまざまな組織を表示することです。PHP配列の繰り返しとキー/値の挿入
私の配列はネストされており、manager
とchildren
を持っています。
私はこの配列をループし、さまざまなレベルの色を割り当てる方法を理解しようとしています。
たとえば、配列の最初のレベルは青、次のレベルは赤などです。私がする必要があるのは、class
のキーを追加し、その値がlevelx(xはそれは深いレベルの数です)。
ここでの最終目標は、同じレベルのすべてのレコードに同じキー/値を追加する方法を理解することです。
ここにはclass key
の再生中の配列の例があります。
これを簡単にする入れ子配列内のレベルを判断できるPHP関数はありますか?
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
(
)
)
)
)
)
)
)
レベル制限はありますか? –
@RayannNayran制限はありません。これは、見られる人の下に何人の従業員がいるかに応じて、深さ5レベルまたは深さ20レベルになります。 – SBB
これを実装しようとしましたか? –