【发布时间】:2021-09-01 04:53:17
【问题描述】:
我在数组中获取重复数据,并且该数据存储在我的数据库中。我正在使用 array_unique 来优化重复数据,但它不起作用。请告诉我有没有其他方法可以使数据唯一并以这种方式存储在数据库中。
if (preg_match($keywords, $links[$i]->href)) {
if (filter_var($links[$i]->href, FILTER_VALIDATE_URL) !== false) {
array_push($mainNews, $links[$i]->href);
}
}
return (array_unique($mainNews));
我得到的错误:
C:\xampp\htdocs\pacra-crawlers\modules\crawlers\services\MainNewsRepository.php:46 处的未定义数组键 1
for ($i = 0; $i < count($mainNewsLinks); $i++) {
$mainNews = new MainNews();
$mainNews->newspaper_id = $this->newspaperId;
$mainNews->sector_id = $sectorId;
$mainNews->url = $mainNewsLinks[$i];
$mainNews->save();
}
return ['status' => true];
}
C:\xampp\htdocs\pacra-crawlers\modules\crawlers\services\MainNewsRepository.php:46 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("未定义数组键 1", "C:\xampp\htdocs\pacra-crawlers\modules\crawlers\services\MainNewsRepo 故事.php")
【问题讨论】:
-
代码的一部分
$mainNews是一个数组,另一部分是一个对象。我看不到$mainNewsLinks的初始化位置。您似乎在某处混淆了变量名。 -
$mainnewsLinks 在 repo 中初始化:public function store(array $mainNewsLinks, int $sectorId): array
-
@UmairBasit 建议的解决方案对您有用吗?
标签: php sql arrays duplicates array-unique