如何在循環的時候某一個KEY是一樣的,能夠自動略過?

$subtotal = $pdo->query(
      "SELECT
        s.quan as quan,
        s.price as price,
        p.store_id as store_id
      FROM `stock` as s 
      JOIN product as p ON s.prod_id = p.prod_id "
    );
while ($row_ = mysqli_fetch_array($subtotal)){

      $subtotal_price += $row_['quan']*$row_['price'];

      $pdo->query(
        "INSERT INTO `order_record` (
          `subtotal_price`
        )
        VALUES
        (
          '{$subtotal_price}'
        ) "
      );

      

    }

stock 裡面會有商品ID跟 quan, price,商品ID不會重複

我現在遇到一個問題!!
store_id 是商店ID
product裡面每一個商品都有一個 store_id 值 (會重複)
我要把數據丟到 order_record 裡
但前提是
假設在查詢(或是在while循環的時候)的時候發現該 product 的 store_id 是一樣的
那就在循環裡面將 quan 和 price 相乘變成 $subtotal_price,再將數據丟到 order_record 裡面
就是假設該 product 的 store_id 是重複的話,就只要丟一次。
這能怎麼寫才對?

料青山看我应如是
浏览 380回答 2
2回答

缥缈止盈

你先将获得的数组来 array_count_values(),知道哪些是重复值的,然后 quan 和 price 相乘變成 $subtotal_price ,最后在丢到 order_record

慕侠2389804

先在while循环外定义一个map/set。循环开始时,判断set.get(store_id)是否存在,存在即跳过,不存在的话,将key存入set,正常执行其他逻辑
打开App,查看更多内容
随时随地看视频慕课网APP