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 Quote 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 ) Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.