Php 阵列打印

Php 阵列打印,php,arrays,Php,Arrays,这是代码,但它是这样的: $transactions = array ( array( 'SiteID' => 147, 'Amount' => '500.00', 'TransactionType' => 'Deposit' ), array( 'SiteID' => 147, 'Amount' => '500.00', 'TransactionType' => 'Redemption'), array( 'SiteID' => 147, 'Amo

这是代码,但它是这样的:

$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 )
我需要这样打印结果:

$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 )
R-重新加载、W-赎回和D-存款。

谢谢,请回复。

使用

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 )
试一试


谢谢diEcho,你能帮我解决我的问题吗?谢谢:)我找不到您想要的数组和当前正在获取的数组中的更改。除了
D W R
,但是稍后您要编写两个数组之间的差异的缩写D W rwhat?你到底想要什么?我只需要将结果打印为D-“存款”,而不是字母“D”,R-“重新加载”和“W”-赎回。请帮助hi Sabin,密钥应该是一个单词,['D']的“存款”,['R']的“重新加载”和['W”]的“赎回”,仅在
foreach
hi中更改,但我需要在密钥处插入SiteID?我怎么做?您已将sited保存为密钥,总共$code,因此在我的代码中,$key等于您的SiteID