0
我在电子商务项目(内置于Code Igniter中)中有两个对象数组,其中一个是产品对象数组,另一个是销售项目对象数组,具有产品ID和折扣金额。我需要比较阵列,以便我可以在正在销售的物品中放置新的价格,但似乎无法正确编码循环。这是我目前的代码:比较两个对象数组并替换值
private function checkSalesProducts($query) { //$query is an array of product objects
$this->db->select("sale_product, sale_discount");
$salesItems = $this->db->get("sale_items");
foreach($salesItems->result() as $salesItem)
{
for($i=0; sizeof($query); ++$i)
{
if($salesItem->sales_product == $query[$i]->prod_id)
{
$query[$i]->prod_price = $query[$i]->prod_price * (1 - $salesItem->sales_discount);
$query[$i]->sale_item = true;
break;
}
}
}
echo "<pre>";
print_r($query);
echo "</pre>";
}
任何想法?
双循环导致n * n的计算。但是,我认为这不是你的主要问题。我不知道代码点火器,你确定'$ salesItem-> sales_product'是产品ID还是产品?你的代码正在工作还是只是一个问题来改进它? –