簡體   English   中英

比較來自一個數組PHP的數組值

[英]Compare array values from one array PHP

注意:

我是php和mysql的新手。

背景信息:

我有+/- 30,000種產品,它們分別來自7個不同的供應商,並且它們有很多相同的產品

假設我有1個產品,三個供應商都有,我需要以最低的價格發布該產品,而其他兩個產品則保持未發布狀態

這是基本思想,必須運行30,000種產品,並檢查是否存在匹配項並運行發布功能

SQL設置:

有兩個表xxxx_virtuemart_productxxxx_virtuemart_product_prices

xxxx_virtuemart_product▬▬▬product_id,product_sku,已發布▬▬▬中有三行

xxxx_virtuemart_product_prices▬▬▬product_id,product_price are中有兩行

我的一點點代碼:

我有這個小代碼,因為我被卡住了,如何檢查是否有匹配項,然后運行查詢以更改價格最低的產品的發布值?

我知道有一種方法可以使用查詢來檢查匹配項,但是不知道該怎么做是

$query = "SELECT `product_sku` FROM `xxxx_virtuemart_product`";
$query_run = mysql_query($query) or die (mysql_error());

while($row = mysql_fetch_assoc($query_run)){
    foreach ($row as $key => $ps){

    }
}

下面的代碼是檢查價格(不是查詢優化只是草稿)

$z = //products price;
$x = //products price;
$c = //products price;

if ($z >= $x && $c >= $x) {

    //the this products published value to 1

}else if ($x >= $z && $c >= $z) {

    //the this products published value to 1

}else if ($z >= $c && $x >= $c) {

    //the this products published value to 1

}

誰能幫我這個忙嗎?

謝謝閱讀

任何問題都歡迎。

您的問題不是要比較數組,而是要更多的算法。 我會嘗試這種方式。 1)SQL查詢以檢索所有產品:sql_products 2)構造一個哈希圖,這些鍵是產品SKU(請參閱: PHP Array

構造PHP hashmap:使用數組數組。 示例:product_map [] = array();

foreach sql_products的sql_product:-product_map [sql_product [SKU]] [] =數組(sql_product [供應商],sql_product [價格],sql_product [信息])

然后再次遍歷所構造的產品地圖,並按價格對每個產品記錄進行排序:這意味着您必須編寫一個對數組(供應商,價格,信息)進行排序的函數。

現在您有一個產品圖:SKU => array(of array(供應商,價格,信息)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM