[英]How can I find qty of given array
我在 PHP 中寻找 qty 计算的添加和变种 我如何遍历循环 示例日期 2022-07-01 和 2022-07-02 应添加比 2022-07-03 应从 buy_qty 中删除 2022-07-03 出售= 8 - 3 (sell_qty)....
Array
(
[TCS] => Array
(
[2022-07-01] => Array
(
[buy_qty] => 5
[buy_price] => 150
)
[2022-07-02] => Array
(
[buy_qty] => 3
[buy_price] => 100
)
[2022-07-03] => Array
(
[sell_qty] => 3
[sell_price] => 100
)
[2022-07-04] => Array
(
[buy_qty] => 2
[buy_price] => 100
[sell_qty] => 4
[sell_price] => 100
)
[2022-07-05] => Array
(
[sell_qty] => 2
[sell_price] => 100
[buy_qty] => 1
[buy_price] => 100
)
[2022-07-06] => Array
(
[buy_qty] => 5
[buy_price] => 150
[sell_qty] => 2
[sell_price] => 100
)
)
)
输出应该是 return ( [qty] => 5 )
请帮我
我想你正在寻找这个(这个打印 5):
$qty = 0;
foreach ($array['TCS'] as $changes) {
if (isset($changes['buy_qty'])) {
$qty += $changes['buy_qty'];
}
if (isset($changes['sell_qty'])) {
$qty -= $changes['sell_qty'];
}
}
echo $qty;
循环遍历TCS
数组,并针对每个子数组:如果设置了buy_qty
键,则将其添加到$qty
,如果设置了sell_qty
键,则从$qty
中减去。
您可以使用数组函数来实现此目的而无需循环:
$buy_qty_sum = array_sum(array_column($array['TCS'], 'buy_qty'));
$sell_qty_sum = array_sum(array_column($array['TCS'], 'sell_qty'));
$result = $buy_qty_sum - $sell_qty_sum; // 5
如下所示遍历数组两次,添加和减去买入卖出数量并存储在最初声明为 0 的 finalValue 变量中
请参阅此处以了解 isset() 函数的工作原理
`$data = Array
(
'TCS' => Array
(
'2022-07-01' => Array
(
'buy_qty' => 5,
'buy_price' => 150
),
'2022-07-02' => Array
(
'buy_qty' => 3,
'buy_price' => 100
),
'2022-07-03' => Array
(
'sell_qty' => 3,
'sell_price' => 100
),
'2022-07-04' => Array
(
'buy_qty' => 2,
'buy_price' => 100,
'sell_qty' => 4,
'sell_price' => 100
),
'2022-07-05' => Array
(
'sell_qty' => 2,
'sell_price' => 100,
'buy_qty' => 1,
'buy_price' => 100
),
'2022-07-06' => Array
(
'buy_qty' => 5,
'buy_price' => 150,
'sell_qty' => 2,
'sell_price' => 100
)
)
);
$finalValue=0;
foreach($txt as $key => $value){
foreach($value as $k => $v){
if(isset($v['buy_qty']))
$finalValue += $v['buy_qty'];
if(isset($v['sell_qty']))
$finalValue -= $v['sell_qty'];
}
}
echo $finalValue;`//to print the value of buy-sell after calculations
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.