将变量从一个foreach循环传递给另一个

时间:2017-09-07 14:43:22

标签: php

我有这个代码用于迭代我从数据库中选择的一些数据

 public function trade_profit_cron(){
   header("Access-Control-Allow-Origin: *");
   header("Access-Control-Allow-Methods: PUT, GET, POST");
   header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

   $loss_account = 0;

   $query = $this->db->query("select trade_pool_hash from live_trading group by trade_pool_hash");

    if ($query->num_rows() > 0)
    {
       foreach ($query->result() as $row)
        {
        $trade_pool_hash = $row->trade_pool_hash;

$query_pool_loss = $this->db->query("select sum(trade_consequence) as total_loss from live_trading where trade_status = 'LOSS' and trade_pool_hash = '$trade_pool_hash'");
$query_pool_profit = $this->db->query("select * from live_trading where trade_status = 'WIN' and trade_pool_hash = '$trade_pool_hash'");

        if ($query_pool_loss->num_rows() > 0)
            {
               foreach ($query_pool_loss->result() as $row2)
                {
                $total_loss = $row2->total_loss;
                $total_loss_float = floatval($total_loss);
                $loss_account = $total_loss_float + $loss_account;
                $this->session->set_userdata('loss_account', $loss_account);

                echo $this->session->userdata('loss_account').'<br/>';


                //Profit Divide

                if ($query_pool_profit->num_rows() > 0)
            {
               foreach ($query_pool_profit->result() as $row)
                {

                //echo $loss_account.'<br/>';


                }

            }

                }

            }

        }

    }
    //echo $this->session->userdata('loss_account');
 }

我在外循环中选择数据并使用一些数据来循环内循环。我现在需要得到内循环中的一个字段的总和,我确实得到它。但是,因为我在循环中,所显示的是我的总和的多个值。

我需要将总和作为一个数字,以便我可以将它传递给另一个循环?。

总和是43.5,但这就是我得到的

43
43
43
43
43
43
43
43
43.5
43.5
43.5

代替。如何显示总和的一个值?。

1 个答案:

答案 0 :(得分:1)

如果我说得对,你想在循环中获得数据总和。你需要做的就是让你的回声在循环之外,原因是每次循环运行Next Button Clicked 语句时,它会打印它。因此,您可能希望在echo内注释掉echo语句,或者将其移到循环外部。一个简单的例子是:

foreach

您的代码示例:

$sum = 0;
$data = [1,2,3,4,5];

foreach($data as $val) {
    $sum += $val;
}

echo $sum;