2016-12-25 117 views
-1

我在PHP中使用foreach循環。循環填充了多少名員工,這些員工中的大多數在循環中重複他們的自我。PHP foreach循環,計算僱員總工資總額

我想要一種方法來顯示員工工資總和,直到下一個員工發生。

結果會像。

Employee Pay 
A   10 
A   5 
Total  15 
B   7 
B   8 
Total  15 

等。

我的數組就像! :

$result = [ 

     'A' => 12, 
     'B' => 10, 
     'A' => 7, 
     'B' => 20, 
     'C' => 11 
]; 

我的代碼是這樣的。

<?php foreach($result as $results){ ?> 
<tr> 
<td><?php echo $results['name'] ?></td> 
<td><?php echo $results['pay'] ?></td> 
</tr> 
// I want show total here, like I said above. 
<?php } ?> 
+0

,做你想要什麼我們? –

+0

請在這裏顯示你的數組 –

+0

你的數組看起來像什麼? –

回答

0

數組的要點是有唯一的鍵。

所以您的陣列應該是這樣的:

$result = [ 
    'A' => [ 12, 7], 
    'B' => [ 10, 20], 
    'C' =>[11] 
]; 

然後,你可以簡單地做:

foreach($result as $value => $key){ 
    echo $value . ":" . array_sum($key) . PHP_EOL; 
} 

,其結果將是:

A : 19 
B : 30 
C : 11 
+0

你已經回答了你認爲他的數組應該是什麼樣子的問題基礎。但問題是他如何能夠實現他想要的陣列當前結構! – EhsanT

+0

你是對的,但有這樣的數組是不允許在PHP中,所以我建議一個有效的數組! –

+0

實際上php可以讓你創建這個數組而沒有任何錯誤,但是內容不會像我在我的評論中提到的那樣是OP所描述的。當你創建這個數組$'result = ['A'=> 12,'B'=> 10,'A'=> 7,'B'=> 20,'C'=> 11];',自動變成這樣:'$ result = ['A'=> 7,'B'=> 20,'C'=> 11];'因爲7將被覆蓋在'A'上,並且20將被覆蓋'B'。所以我認爲他的數組結構是另一回事。如果他從數據庫查詢中獲得數組,那麼他可能有一個嵌套數組,首先他必須詳細闡述他的問題。 – EhsanT