0

この問題を解決しようと 1 日を過ごした後、私は敗北を認めざるを得ません。

階層をレポート/csvにフォーマットする必要があります.indented/hierarchyが適切です.配列を取り、以下のように階層を作成するphp関数が必要です. 開始ノードが「Sales」であることはわかっています。

//[so]  [activity]  [milestone] [compleated]
    array(
        array("Sales", "Motor", "Documentation", "10%"),
        array("Sales", "Motor", "Communication", "15%"),
        array("Sales", "Motor", "Metro file", "30%"),
        array("Sales", "Motor", "Training", "33%"),
        array("Sales", "Motor", "Client Services", "23%"),
        array("Motor", "Documentation", "Doc revamp", "42%"),
        array("Motor", "Documentation", "SLA", "33%"),
        array("Motor", "Documentation", "KRA", "25%")
    )

Sales           
    Motor       
        Documentation           10%
            Doc revamp          43%
            SLA                 33%
            KRA                 25%
        Communication           15%
        Metro file              30%
        Training                33%
        Client Services         23%

Sales           
xx Motor        
xxx Documentation           10%
xxxx Doc revamp         43%
xxxxx SLA                   33%
xxxxx KRA                   25%
xxxx Communication          15%
xxxx Metro file             30%
xxxx Training               33%
xxxx Client Services        23%
4

1 に答える 1

0

配列を並べ替えます (既に並べ替えられているように見えます)。

$last_so $last_activity $last_milestone を null に初期化します。

配列内のすべてのエントリをループします。

$so、$activity、$milestone を抽出します。

$so が変更された場合 ($last_so と比較して検出)、最初のヘッダーとして $so を出力し、$last_activity $last_milestone を null にリセットします。

$activity が変更されると、$activity が 2 番目のヘッダーとして出力され、$last_milestone が null にリセットされます。

$milestone が変更されると、$milestone が 3 番目のヘッダーとして出力されます

パーセンテージを 4 列目に出力します。

$last_so, .. etc を $So, .. etc に更新します。

ループを続行します。

于 2013-09-01T10:29:20.003 に答える