ここにデータがあります:
Array
(
[0] => Array
(
[SiteID] => 147
[Amount] => 500.00
[TransactionType] => D
)
[1] => Array
(
[SiteID] => 147
[Amount] => 500.00
[TransactionType] => D
)
[2] => Array
(
[SiteID] => 145
[Amount] => 500.00
[TransactionType] => R
)
)
リロード、償還、デポジットの計算が完了し、機能していますが、siteID にデポジット [D] またはリロード [R] または償還 [W] のトランザクションがない場合は、0 に等しくなるはずです。私のコードここにある:
public function computeGHComponents()
{
error_reporting (E_ALL^ E_NOTICE);
foreach ($this->transaction as $t){
$amount = (float) $t['Amount'];
if (isset($this->totals[ $t['SiteID'] ][ $t['TransactionType'] ])){
$this->totals[ $t['SiteID'] ][ $t['TransactionType'] ] += (float) $amount;
} else {
$this->totals[ $t['SiteID'] ][ $t['TransactionType'] ] = (float) $amount;
}
}
foreach($this->totals as $key => $value)
{
$this->result[$key] = array("Deposit"=>$value['D'], "Redemption"=>$value['W'], "Reload"=>$value['R']);
}
print_r($this->result);
}
結果は次のように表示されます。
Array
(
[147] => Array
(
[Deposit] => 1000
[Redemption] => 0
[Reload] => 0
)
[145] => Array
(
[Deposit] => 0
[Redemption] => 500.00
[Reload] => 0
)
)
事前に感謝し、適切な方法で私を案内してください。