<?php
$array = array(array("_source" => array("dealer_id" => 4)),array("_source" => array("dealer_id" => 3)),array("_source" => array("dealer_id" => 2)),array("_source" => array("dealer_id" => 5)),array("_source" => array("dealer_id" => 7)),array("_source" => array("dealer_id" => 9)), array("_source" => array("dealer_id" => 8)),array("_source" => array("dealer_id" => 10)),array("_source" => array("dealer_id" => 12)),array("_source" => array("dealer_id" => 3)),array("_source" => array("dealer_id" => 12)));
$indexed_array = [];
$results = [];
foreach ($array as $e) {
if (!isset($indexed_array[$e['_source']['dealer_id']])) { $indexed_array[$e['_source']['dealer_id']] = $e;
}
else {
// add the 2 results with the same dealer_id to your results
$results[] = $indexed_array[$e['_source']['dealer_id']];
$results[] = $e;
break;
}
}
// get 2 more elements with a different dealer_id
foreach ($array as $e) {
if ($e['_source']['dealer_id'] != $results[0]['_source']['dealer_id']) {
$results[] = $e;
if (count($results) > 3) { break;
}
}
}
}
else {
// there are no duplicates so just get the 1st 4 elements
}
PD9waHAKCiRhcnJheSA9IGFycmF5KGFycmF5KCJfc291cmNlIiA9PiBhcnJheSgiZGVhbGVyX2lkIiA9PiA0KSksYXJyYXkoIl9zb3VyY2UiID0+IGFycmF5KCJkZWFsZXJfaWQiID0+IDMpKSxhcnJheSgiX3NvdXJjZSIgPT4gYXJyYXkoImRlYWxlcl9pZCIgPT4gMikpLGFycmF5KCJfc291cmNlIiA9PiBhcnJheSgiZGVhbGVyX2lkIiA9PiA1KSksYXJyYXkoIl9zb3VyY2UiID0+IGFycmF5KCJkZWFsZXJfaWQiID0+IDcpKSxhcnJheSgiX3NvdXJjZSIgPT4gYXJyYXkoImRlYWxlcl9pZCIgPT4gOSkpLCBhcnJheSgiX3NvdXJjZSIgPT4gYXJyYXkoImRlYWxlcl9pZCIgPT4gOCkpLGFycmF5KCJfc291cmNlIiA9PiBhcnJheSgiZGVhbGVyX2lkIiA9PiAxMCkpLGFycmF5KCJfc291cmNlIiA9PiBhcnJheSgiZGVhbGVyX2lkIiA9PiAxMikpLGFycmF5KCJfc291cmNlIiA9PiBhcnJheSgiZGVhbGVyX2lkIiA9PiAzKSksYXJyYXkoIl9zb3VyY2UiID0+IGFycmF5KCJkZWFsZXJfaWQiID0+IDEyKSkpOwoKJGluZGV4ZWRfYXJyYXkgPSBbXTsKJHJlc3VsdHMgPSBbXTsKCmZvcmVhY2ggKCRhcnJheSBhcyAkZSkgewogICAgaWYgKCFpc3NldCgkaW5kZXhlZF9hcnJheVskZVsnX3NvdXJjZSddWydkZWFsZXJfaWQnXV0pKSB7CiAgICAgICAgJGluZGV4ZWRfYXJyYXlbJGVbJ19zb3VyY2UnXVsnZGVhbGVyX2lkJ11dID0gJGU7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAvLyBhZGQgdGhlIDIgcmVzdWx0cyB3aXRoIHRoZSBzYW1lIGRlYWxlcl9pZCB0byB5b3VyIHJlc3VsdHMKICAgICAgICAkcmVzdWx0c1tdID0gJGluZGV4ZWRfYXJyYXlbJGVbJ19zb3VyY2UnXVsnZGVhbGVyX2lkJ11dOwogICAgICAgICRyZXN1bHRzW10gPSAkZTsKICAgICAgICBicmVhazsKICAgIH0KfQoKCmlmICghZW1wdHkoJHJlc3VsdHMpKSB7CiAgICAvLyBnZXQgMiBtb3JlIGVsZW1lbnRzIHdpdGggYSBkaWZmZXJlbnQgZGVhbGVyX2lkCiAgICBmb3JlYWNoICgkYXJyYXkgYXMgJGUpIHsKICAgICAgIGlmICgkZVsnX3NvdXJjZSddWydkZWFsZXJfaWQnXSAhPSAkcmVzdWx0c1swXVsnX3NvdXJjZSddWydkZWFsZXJfaWQnXSkgewogICAgICAgICAgJHJlc3VsdHNbXSA9ICRlOwogICAgICAgICAgaWYgKGNvdW50KCRyZXN1bHRzKSA+IDMpIHsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgfQogICAgfQp9CmVsc2UgewogICAgLy8gdGhlcmUgYXJlIG5vIGR1cGxpY2F0ZXMgc28ganVzdCBnZXQgdGhlIDFzdCA0IGVsZW1lbnRzCiAgICAkcmVzdWx0cyA9IGFycmF5X3NsaWNlKCRhcnJheSwgMCwgNCk7Cn0KCnByaW50X3IoJHJlc3VsdHMpOwo=