1 回答

TA貢獻2021條經驗 獲得超8個贊
嘗試在類的最開始創建一個屬性,例如
private $exportedProductsIds = [];
然后在每次迭代之后,在返回之前將導出的產品 ID 放入其中
array_push($this->exportedProductsIds, $objProduct->id);
然后在運行前添加驗證,如果 id 已經在$exportedProductsIds然后跳過迭代
if (!in_array($objProduct->id, $this->exportedProductsIds)) {
//run your code
}
但我認為放置此代碼的最佳位置是您調用getProductFromArray方法的地方。
我假設是這樣的
private function exportProducts($products)
{
foreach ($products as $product) {
if (in_array($objProduct->id, $this->exportedProductsIds)) {
continue;
}
if ($this->getProductFromArray($arrProduct)) {
array_push($this->exportedProductsIds, $objProduct->id);
}
}
}
- 1 回答
- 0 關注
- 134 瀏覽
添加回答
舉報