For some reason I am having trouble with this, I have a multi-dimensional array in PHP like the following below (MySQL data). What I want to do is remove any duplicate arrays based on "dealerID".
In the example below, I want to search through the arrays and remove any of duplicate dealerID arrays.
Example, take this:
array(2) {
[0]=>
array(3) {
["dealerID"]=>
string(3) "634"
["Name"]=>
string(15) "Dealer Name String"
["Other Name"]=>
string(15) "Dealer Name String"
}
[1]=>
array(3) {
["dealerID"]=>
string(3) "777"
["Name"]=>
string(15) "Dealer Name String"
["Other Name"]=>
string(15) "Dealer Name String"
}
[2]=>
array(2) {
["dealerID"]=>
string(3) "777"
["Name"]=>
string(15) "Dealer Name String"
}
[3]=>
array(3) {
["dealerID"]=>
string(3) "777"
["Name"]=>
string(15) "Dealer Name String"
["Other Name"]=>
string(15) "Dealer Name String"
}
[4]=>
array(2) {
["dealerID"]=>
string(3) "777"
["Name"]=>
string(15) "Dealer Name String"
}
Desired result, only arrays with unique dealerID:
array(2) {
[0]=>
array(3) {
["dealerID"]=>
string(3) "634"
["Name"]=>
string(15) "Dealer Name String"
["Other Name"]=>
string(15) "Dealer Name String"
}
[1]=>
array(3) {
["dealerID"]=>
string(3) "777"
["Name"]=>
string(15) "Dealer Name String"
["Other Name"]=>
string(15) "Dealer Name String"
}
What I have tried:
$copy = $array; // create copy to delete dups from
$used = array(); // used emails
for( $i=0; $i<count($array); $i++ ) {
if ( in_array( $array[$i][0], $used ) ) {
unset($copy[$i]);
}
else {
$used[] = $array[$i][0];
}
}
and:
foreach($dealerList as $key => $subarray) {
if ( in_array( $dealerList[$subarray], $used ) ) {
echo "ALREADY";
}
else {
$used[] = $dealerList[$subarray];
echo "NOT ALREADY";
}
}
#$dealerList = $copy;
group by dealerID