如何在循環的時候某一個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 是重複的話,就只要丟一次。
這能怎麼寫才對?

阅读 1.8k
2 个回答

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

先在while循环外定义一个map/set。
循环开始时,判断set.get(store_id)是否存在,存在即跳过,不存在的话,将key存入set,正常执行其他逻辑

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题