繁体   English   中英

如何找到给定数组的数量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM