2016-12-25 9 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 '; 'キーAで7が上書きされ、キーAで20が上書きされるためです。 'B'。だから私は彼のアレイ構造が別のものだと思う。もし彼がDBクエリからの配列を持っていれば、おそらく彼は入れ子配列を持っていて、まず彼は彼の質問についてもっと詳しく述べなければならない。 – EhsanT

関連する問題