繁体   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