为了账号安全,请及时绑定邮箱和手机立即绑定

如何解决重复数据

如何解决重复数据

PHP
慕森卡 2021-10-15 10:32:32
我是 codeigniter 的新手,我的问题是当我在彼此内部使用两个 foreach 循环时如何解决重复数据。当我使用循环时,它是重复数据,当在循环外使用循环值时,它只打印最后一个值如何解决。 if ($invoiceResult->to_type == 'customer')         {            $prodIds = isset($invoiceResult->pIds) && !empty($invoiceResult->pIds) ? rtrim($invoiceResult->pIds, ',') : '0';            $stockIds = 0;            if(isset($invoiceResult->sid) && $invoiceResult->sid != ' ')            {                $stockIds = rtrim($invoiceResult->sid, ',');            }            $printproduct = "SELECT p.pId,s.pId AS st_id, s.barcode, p.pPrice, p.pModel,p.HSNSAC,p.CGST,p.SGST,c.cName from  products p LEFT JOIN stock s ON p.pId = s.pId INNER JOIN category c ON p.cId = c.cId where s.sId IN (" . $stockIds . ") OR p.pId IN (" . $prodIds . ")";            $query = $this->Main_model->__callMasterquery($printproduct);            $printproresult = $query->result();            $inVocRow = $query->row();            $qtyResult = explode(",", $invoiceResult->pQtys);        }foreach ($printproresult as $key =>  $inVocRow )         {            $barcode = isset($inVocRow->barcode) ? $inVocRow->barcode : "N/A";            $cgstRate = $inVocRow->CGST;            $sgstRate = $inVocRow->SGST;            $qty = ($inVocRow->barcode) ? 1 : $qtyResult[$key] ;            print_r($qty);            $prodPrice = ($inVocRow->barcode) ? $inVocRow->pPrice : $inVocRow->pPrice * $qty;            $cgst = ((float)$prodPrice * $cgstRate) / 100;            $sgst = ($prodPrice * $sgstRate) / 100;            $cgstTotals += $cgst;            $sgstTotals += $sgst;            $gstRates += ($cgst + $sgst);实际上这里有两种类型的产品,一种是条形码产品,另一种是非条形码产品。条码产品不包含数量,非条码产品包含数量。当我购买两种类型的产品然后显示未定义偏移量:2 和未定义偏移量:3因为条码产品不包含数量。我找到了一个计算条形码产品的解决方案,然后使用 for 循环并使用数量 = 1 并将其添加到数量数组中并乘以产品价格,但是当我在 foreach 循环中使用它时它会重复该值。如果我在 foreach 循环之前使用它,那么它只打印最后一个值,或者如果我在 foreach 循环中使用它,那么它会重复并且每个数量乘以每个产品价格。我如何解决它。如果有任何其他类型来解决数量数组,请建议我。
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

使用 in_array 函数来解决例如:-


$user = [];

if(in_array($user_data->mobile,$user)){

     $user[] = $user_data->mobile; @endphp

}else{

    '<option value="{{$user_data->mobile}}">'. ucfirst($user_data->name) .'</option>';

}


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信