0

明確にするために、入力されたデータは次のとおりです。

配列 ( [0] => 配列 ( [サイト ID] => 147 [金額] => 500.00 [取引タイプ] => D )

[1] => Array
    (
        [SiteID] => 145
        [Amount] => 500.00
        [TransactionType] => D
    )

[2] => Array
    (
        [SiteID] => 145
        [Amount] => 500.00
        [TransactionType] => D
    )

[3] => Array
    (
        [SiteID] => 147
        [Amount] => 500.00
        [TransactionType] => D
    )

[4] => Array
    (
        [SiteID] => 146
        [Amount] => 500.00
        [TransactionType] => D
    )
[5] => Array
    (
        [SiteID] => 146
        [Amount] => 500.00
        [TransactionType] => D
    )
[6] => Array
    (
        [SiteID] => 145
        [Amount] => 500.00
        [TransactionType] => W
    )

[7] => Array
    (
        [SiteID] => 145
        [Amount] => 500.00
        [TransactionType] => W
    )

[8] => Array
    (
        [SiteID] => 146
        [Amount] => 330.00
        [TransactionType] => W
    )

[9] => Array
    (
        [SiteID] => 146
        [Amount] => 500.00
        [TransactionType] => W
    )

[10] => Array
    (
        [SiteID] => 3
        [Amount] => 500.00
        [TransactionType] => D
    )

すべてのトランザクションの合計を同じ SiteID で取得する必要があり、それは TransactionType です。たとえば、次のようにします。

D - デポジット、W - 償還、R - リロード

結果:array ([147]=>array([Deposit] => 1000, [Reload]=>3000, [Redemption]=>2000))

注: 147 は SiteID です。

同じ SiteID のすべてのトランザクションの入金、リロード、償還を計算する必要があります。

SiteID が複数回存在する場合は、サイクルごとにデポジット、リロード、償還を追加するだけです。:)

応答してください。ありがとう、適切な方法で私を導きます!!

4

2 に答える 2

0

これを試して

<?php
$array=array ("SiteID"=>array("Deposit" => 1000, "Reload"=>3000, "Redemption"=>2000));
$val=0;
foreach($array["SiteID"] as $key=>$value){
$val=$val+$value;
}
echo $val;
?>
于 2012-08-09T08:54:56.717 に答える
0
$values = array(
    'Deposit' => 0,
    'Reload'       => 0,
    'Redemption' => 0
);
foreach ($array as $item) {
    $values[$item['SiteID']] += array_sum($item['SiteID']);
}
print_r($values);
于 2012-08-09T08:55:15.157 に答える