Php 从数组中删除重复值-数组_unique()不工作

Php 从数组中删除重复值-数组_unique()不工作,php,arrays,image,web-scraping,Php,Arrays,Image,Web Scraping,我有一个脚本,从一个网站(4chan)抓取图像。它必须通过从锚定标签而不是图像获取url来实现,否则它只能获取缩略图。问题是图像的url出现在两个锚定标记中,因此每个图像出现两次 我尝试将它们放入一个数组中,然后应用array_unique(),但它不起作用 这是我的密码: foreach($html->find('a') as $element) { if (strpos($element->href, "/src/")){ $a = $element->hr

我有一个脚本,从一个网站(4chan)抓取图像。它必须通过从锚定标签而不是图像获取url来实现,否则它只能获取缩略图。问题是图像的url出现在两个锚定标记中,因此每个图像出现两次

我尝试将它们放入一个数组中,然后应用array_unique(),但它不起作用

这是我的密码:

foreach($html->find('a') as $element) {
    if (strpos($element->href, "/src/")){
    $a = $element->href;    
    $ht = "<img src=\"" . $a. "\" />\n";
    $arr = array($ht);
    $arr = array_unique($arr);
    foreach($arr as &$b) {
            echo $b;
        }
    }
}
foreach($html->find('a')as$element){
if(strpos($element->href,“/src/”){
$a=$element->href;
$ht=“\n”;
$arr=阵列($ht);
$arr=数组\唯一($arr);
外汇($arr as和$b){
亿美元;
}
}
}

提前谢谢你的帮助

您不是在向数组中添加,而是在每次迭代中重新定义
$arr
。试试这个:

$arr = array();
foreach($html->find('a') as $element) {
    if (strpos($element->href, "/src/")){
        $a = $element->href;    
        $ht = "<img src=\"" . $a. "\" />\n";
        $arr[] = $ht; 
    }
}
$arr = array_unique($arr);
foreach($arr as &$b) {
    echo $b;
}
$arr=array();
foreach($html->find('a')作为$element){
if(strpos($element->href,“/src/”){
$a=$element->href;
$ht=“\n”;
$arr[]=$ht;
}
}
$arr=数组\唯一($arr);
外汇($arr as和$b){
亿美元;
}

给出了很多错误,所有错误似乎都源于:未定义变量:arr这增加了重复的数量,我的意思是,这种情况发生了:我的代码(和您的原始代码)缺少一个结束
}
。现在修好了。从你的链接上看,似乎4chan检测到你试图窃取他们的图像,并提供了标准徽标。这很有魅力,非常受欢迎,至于4chan检测,我看不出这一点,但由于所有存档网站的原因,他们不会阻止这样的内容:)谢谢帮助:P