advancedfuture Posted September 26, 2010 Share Posted September 26, 2010 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 More sharing options...
Pikachu2000 Posted September 26, 2010 Share Posted September 26, 2010 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 ) Link to comment https://forums.phpfreaks.com/topic/214475-problem-removing-duplicates-in-array/#findComment-1116048 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.