1
我有一组包含买入和卖出交易的数据。我试图根据日期对交易进行分组,然后在自己的集团内巩固买入/卖出。输入我有如下:重新排序/重新排列多维数组
Array
(
[0] => stdClass Object
(
[action] => Buy
[date] => 2011-02-14
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 12.4869
[costs] => 0
[duty] => 0
)
[1] => stdClass Object
(
[action] => Sell
[date] => 2011-02-14
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 14.62840335
[costs] => 0
[duty] => 0
)
[2] => stdClass Object
(
[action] => Buy
[date] => 2011-02-15
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 24.80064
[costs] => 0
[duty] => 0
)
[3] => stdClass Object
(
[action] => Sell
[date] => 2011-02-15
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 30.32498256
[costs] => 0
[duty] => 0
)
[4] => stdClass Object
(
[action] => Buy
[date] => 2011-02-21
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 24.63168
[costs] => 0
[duty] => 0
)
[5] => stdClass Object
(
[action] => Sell
[date] => 2011-02-21
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 26.633004
[costs] => 0
[duty] => 0
)
[6] => stdClass Object
(
[action] => Buy
[date] => 2011-02-21
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 24.63168
[costs] => 0
[duty] => 0
)
[7] => stdClass Object
(
[action] => Sell
[date] => 2011-02-22
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 27.0270324
[costs] => 0
[duty] => 0
)
[8] => stdClass Object
(
[action] => Buy
[date] => 2011-02-21
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 12.31584
[costs] => 0
[duty] => 0
)
[9] => stdClass Object
(
[action] => Sell
[date] => 2011-02-22
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 13.88811768
[costs] => 0
[duty] => 0
)
[10] => stdClass Object
(
[action] => Buy
[date] => 2011-04-21
[instrument] => USD/CAD
[units] => 1000.0
[gbp_amount] => 12.09882
[costs] => 0
[duty] => 0
)
[11] => stdClass Object
(
[action] => Sell
[date] => 2011-04-22
[instrument] => USD/CAD
[units] => 1000.0
[gbp_amount] => 13.87129713
[costs] => 0
[duty] => 0
)
[12] => stdClass Object
(
[action] => Buy
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.8517069
[costs] => 0
[duty] => 0
)
[13] => stdClass Object
(
[action] => Sell
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.8517069
[costs] => 0
[duty] => 0
)
[14] => stdClass Object
(
[action] => Buy
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 27.0
[gbp_amount] => 0.68136552
[costs] => 0
[duty] => 0
)
[15] => stdClass Object
(
[action] => Sell
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 27.0
[gbp_amount] => 0.68136552
[costs] => 0
[duty] => 0
)
[16] => stdClass Object
(
[action] => Buy
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
[17] => stdClass Object
(
[action] => Sell
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
[18] => stdClass Object
(
[action] => Buy
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
[19] => stdClass Object
(
[action] => Sell
[date] => 2012-02-01
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
)
我期待达到的输出是这样的:
Array
(
[2011-02-14] => stdClass Object
[Buy] => Array
[0] = Array
(
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 12.4869
[costs] => 0
[duty] => 0
)
[Sell] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 14.62840335
[costs] => 0
[duty] => 0
)
[2011-02-15] => stdClass Object
[Buy] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 24.80064
[costs] => 0
[duty] => 0
)
[Sell] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 30.32498256
[costs] => 0
[duty] => 0
)
[2011-02-21] => stdClass Object
[Buy] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 24.63168
[costs] => 0
[duty] => 0
)
[1] => Array
(
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 24.63168
[costs] => 0
[duty] => 0
)
[Sell] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 26.633004
[costs] => 0
[duty] => 0
)
[2011-02-22] => stdClass Object
[Buy] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 12.31584
[costs] => 0
[duty] => 0
)
[Sell] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 4000.0
[gbp_amount] => 27.0270324
[costs] => 0
[duty] => 0
)
[1] => Array
(
[instrument] => USD/CAD
[units] => 2000.0
[gbp_amount] => 13.88811768
[costs] => 0
[duty] => 0
)
[2011-04-21] => stdClass Object
[Buy] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 1000.0
[gbp_amount] => 12.09882
[costs] => 0
[duty] => 0
)
[2011-04-22] => stdClass Object
[Sell] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 1000.0
[gbp_amount] => 13.87129713
[costs] => 0
[duty] => 0
)
[2012-02-01] => stdClass Object
[Buy] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.8517069
[costs] => 0
[duty] => 0
)
[1] => Array
(
[instrument] => USD/CAD
[units] => 27.0
[gbp_amount] => 0.68136552
[costs] => 0
[duty] => 0
)
[2] => Array
(
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
[3] => Array
(
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
[Sell] => Array
[0] => Array
(
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.8517069
[costs] => 0
[duty] => 0
)
[1] => Array
(
[instrument] => USD/CAD
[units] => 27.0
[gbp_amount] => 0.68136552
[costs] => 0
[duty] => 0
)
[2] => Array
(
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
[3] => Array
(
[instrument] => USD/CAD
[units] => 13.5
[gbp_amount] => 0.34068276
[costs] => 0
[duty] => 0
)
)
我使用的foreach循环尝试重新安排数组,但我有除了按交易日期列出交易之外,还有一点成功,但我无法根据买入/卖出列出这些交易。任何帮助将不胜感激。
甲比我想象的更简单的解决方案,谢谢。 – Michael 2012-08-15 13:45:38