When a duplicate is found in URL I want to:
- Take ‘score’ and add it to the original
- Take ‘engine’ string and append it to the original
- Then delete the entire duplicate entry
array 0 => array 'url' => string 'http://blahhotel.com/' 'score' => int 1 'engine' => string 'cheese' 1 => array 'url' => string 'http://www.blahdvd.com/' 'score' => int 2 'engine' => string 'cheese' 2 => array 'url' => string 'http://blahhotel.com/' 'score' => int 1 'engine' => string 'pie' 3 => array 'url' => string 'http://dictionary.reference.com/browse/blah' 'score' => int 2 'engine' => string 'pie' 4 => array 'url' => string 'http://dictionary.reference.com/browse/blah' 'score' => int 1 'engine' => string 'apples'
It should look like this in the end:
array 0 => array 'url' => string 'http://blahhotel.com/' 'score' => int 2 'engine' => string 'cheese, pie' 1 => array 'url' => string 'http://www.blahdvd.com/' 'score' => int 2 'engine' => string 'cheese' 3 => array 'url' => string 'http://dictionary.reference.com/browse/blah' 'score' => int 3 'engine' => string 'pie, apples'
I believe this meets your requirements.
Based on the desired output you provided, it appeared that you wanted to preserve the numeric indices of each entry. If you don’t actually need to preserve those numbers, you can remove the second
foreachloop and the lines regarding the$indicesvariable, then just return$tmpList.(Here’s a working example on codepad.)