Jump to content

problem removing duplicates in array


advancedfuture

Recommended Posts

So Im building this little link scraper. The problem I am having is when it outputs the links that are in the array its got duplicate elements. I'm trying to erase the dupes and only show unique values. I've tryed array_unique() with out success as well as in_array(). Any help would be appreciated!

 

//PAGE WE ARE GETTING LINKS ON
$diags = str_get_html(getDiagramLinks($html));

//GET THE DIAGRAM LINKS TO PAGES INTO ARRAY
foreach($diags->find('a') as $f)
{
	$diagLinks[] = $f->href;

}

//iterate through the array
for($i=0; $i<sizeof($diagLinks); $i++)
{	
        //ignore if blank element
if(trim($diagLinks[$i]) !== ' ')
{
	echo $diagLinks[$i]. '<br>';
}
}

 

The Output:

/partsearch/model.aspx?diagram_id=110375
/partsearch/model.aspx?diagram_id=110375
/partsearch/model.aspx?diagram_id=110376
/partsearch/model.aspx?diagram_id=110376
/partsearch/model.aspx?diagram_id=110377
/partsearch/model.aspx?diagram_id=110377
/partsearch/model.aspx?diagram_id=110378
/partsearch/model.aspx?diagram_id=110378
/partsearch/model.aspx?diagram_id=110379
/partsearch/model.aspx?diagram_id=110379
/partsearch/model.aspx?diagram_id=110380
/partsearch/model.aspx?diagram_id=110380

Link to comment
https://forums.phpfreaks.com/topic/214475-problem-removing-duplicates-in-array/
Share on other sites

array_unique() works as expected.

 

<?php
$arr = array(
'/partsearch/model.aspx?diagram_id=110375',
'/partsearch/model.aspx?diagram_id=110375',
'/partsearch/model.aspx?diagram_id=110376',
'/partsearch/model.aspx?diagram_id=110376',
'/partsearch/model.aspx?diagram_id=110377',
'/partsearch/model.aspx?diagram_id=110377',
'/partsearch/model.aspx?diagram_id=110378',
'/partsearch/model.aspx?diagram_id=110378',
'/partsearch/model.aspx?diagram_id=110379',
'/partsearch/model.aspx?diagram_id=110379',
'/partsearch/model.aspx?diagram_id=110380',
'/partsearch/model.aspx?diagram_id=110380'
);
$unique = array_unique($arr);
echo '<pre>';
print_r($unique);
echo '</pre>';
?>

 

Returns:

Array
(
    [0] => /partsearch/model.aspx?diagram_id=110375
    [2] => /partsearch/model.aspx?diagram_id=110376
    [4] => /partsearch/model.aspx?diagram_id=110377
    [6] => /partsearch/model.aspx?diagram_id=110378
    [8] => /partsearch/model.aspx?diagram_id=110379
    [10] => /partsearch/model.aspx?diagram_id=110380
)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.