鍍金池/ 問答/PHP  數(shù)據(jù)庫  HTML/ 如何在循環(huán)的時候某一個KEY是一樣的,能夠自動略過?

如何在循環(huán)的時候某一個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不會重複

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

回答
編輯回答
舊城人

你先將獲得的數(shù)組來 array_count_values(),知道哪些是重復(fù)值的,然后 quan 和 price 相乘變成 $subtotal_price ,最后在丟到 order_record

2018年1月17日 11:28
編輯回答
清夢

先在while循環(huán)外定義一個map/set。
循環(huán)開始時,判斷set.get(store_id)是否存在,存在即跳過,不存在的話,將key存入set,正常執(zhí)行其他邏輯

2018年2月19日 19:08