簡體   English   中英

陣列印刷

[英]Printing of Array

$transactions = array (
array( 'SiteID' => 147, 'Amount' => '500.00', 'TransactionType' => 'Deposit' ),

array( 'SiteID' => 147, 'Amount' => '500.00', 'TransactionType' => 'Redemption'),

array( 'SiteID' => 147, 'Amount' => '1500.00', 'TransactionType' => 'Deposit' ),

array( 'SiteID' => 147, 'Amount' => '200.00', 'TransactionType' => 'Reload' ),

array( 'SiteID' => 150, 'Amount' => '100.00', 'TransactionType' => 'Deposit' ),

array( 'SiteID' => 3,   'Amount' => '500.00', 'TransactionType' => 'Redemption' ),

array( 'SiteID' => 150, 'Amount' => '200.00', 'TransactionType' => 'Redemption' ),

array( 'SiteID' => 3,   'Amount' => '500.00', 'TransactionType' => 'Deposit' ),

array( 'SiteID' => 3,   'Amount' => '200.00', 'TransactionType' => 'Deposit' ),

array( 'SiteID' => 3,   'Amount' => '200.00', 'TransactionType' => 'Reload' ),

array( 'SiteID' =>147, 'Amount' => '500.00', 'TransactionType' => 'Redemption' )
);

$totals = null;

foreach ($transactions as $t){

$amount = (float) $t['Amount'];

if (isset($totals[ $t['SiteID'] ][ $t['TransactionType'] ])){
    $totals[ $t['SiteID'] ][ $t['TransactionType'] ] += (float) $amount;
} else {
    $totals[ $t['SiteID'] ][ $t['TransactionType'] ] = (float) $amount;
}
}

print_r ($totals);

這是代碼,但它的打印如下:

Array ( [147] => Array ( [D] => 455500 [W] => 460216.4 [R] => 158000 ) 

[145] => Array ( [D] => 85500 [W] => 78763.75 [R] => 14500 )

[146] => Array ( [D] => 64200 [W] => 91121.94 [R] => 42800 )

我需要像這樣print_r結果:

Array ( [147] => Array ( [Deposit] => 455500 [Redemption] => 460216.4 [Reload] => 158000 ) 

[145] => Array ( [Deposit] => 85500 [Redemption] => 78763.75 [Reload] => 14500 )

[146] => Array ( [Deposit] => 64200 [Redemption] => 91121.94 [Reload] => 42800 )

的R -刷新,W -贖回和D -存款。

謝謝,請回復。

采用

$result=array();
foreach($total as $key=>$value)
{
    $result=array_merge($result,array($key=>array("Deposit"=>$value['D'],"Redemption"=>$value['W'],"Reload"=>$value['R'])));
}
print_r($result);

嘗試

foreach ($transactions as $k=>$t){

$amount = (float) $t['Amount'];

if (isset($totals[ $t['SiteID'] ][ $t['TransactionType'] ])){
    $totals[ $t['SiteID'] ][ $t['TransactionType'] ] += (float) $amount;
} else {
    $totals[ $t['SiteID'] ][ $t['TransactionType'] ] = (float) $amount;
}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM