Объединение массивов с сохранением уникальности - PullRequest
0 голосов
/ 28 мая 2020

У меня есть следующий массив:

array (size=26)
      0 => 
        array (size=14)
          'idcv' => string '1' (length=1)
          'Truck' => string 'Scania' (length=5)
          'Position' => string 'MD' (length=2)
          'FullName' => string 'Bosana, Alfonse' (length=15)
          'company' => string 'Vebat' (length=5)
          'name' => string 'TBA' (length=3)
          'date' => string '2020-05-26 22:38:16' (length=19)
      1 => 
        array (size=14)
          'idcv' => string '1' (length=1)
          'Truck' => string 'Scania' (length=5)
          'Position' => string 'SD' (length=2)
          'FullName' => string 'Rebart Romis' (length=12)
          'company' => string 'Vebat' (length=5)
          'name' => string 'TBA' (length=3)
          'date' => string '2020-05-26 22:38:16' (length=19)
      2 => 
        array (size=14)
          'idcv' => string '3' (length=1)
          'Truck' => string 'Volvo' (length=5)
          'Position' => string 'MD' (length=6)
          'FullName' => string  'Allan Antonio' (length=18)
          'company' => string 'TBA' (length=3)
          'name' => string 'Divine Logistics' (length=16)
          'date' => string '2020-05-12 11:40:09' (length=19)
      3 => 
        array (size=14)
          'idcv' => string '3' (length=1)
          'Truck' => string 'Volvo' (length=12)
          'Position' => string 'SD' (length=2)
          'FullName' => string 'Dematais Cañonero' (length=17)
          'company' => string 'TBA' (length=3)
          'name' => string 'Divine Logistics' (length=16)
          'date' => string '2020-05-12 11:40:09' (length=19)
      4 => 
        array (size=14)
          'idcv' => string '4' (length=1)
          'Truck' => string 'Man' (length=3)
          'Position' => string 'MD' (length=2)
          'FullName' => string ' Raymunde Banali' (length=15)
          'company' => string 'Peak Ltd' (length=8)
          'name' => string 'TBA' (length=3)
          'date' => string '2020-05-12 11:41:48' (length=19)
      5 => 
          array (size=14)
          'idcv' => string '4' (length=1)
          'Truck' => string 'Man' (length=3)
          'Position' => string 'SD' (length=2)
          'FullName' => string ' John Doe' (length=8)
          'company' => string 'Peak Ltd' (length=8)
          'name' => string 'TBA' (length=3)
          'date' => string '2020-05-12 11:41:48' (length=19)

Я хочу создать новый объект, подобный этому, путем слияния Идентичных ключей и сохранения только Position и Fullname (которые различаются в каждом наборе пар). Я могу сделать это при использовании стандартного массива, потому что он добавляет две отсутствующие пары ключ / значение в конце, используя комбинацию array_merge и array_unique, но я понятия не имею (!!!), как это сделать с объектом. Должен быть другой способ создать новый объект? Массив создается на основе запроса mariadb.

Следующее работает с массивом std:

$chektruck = null;
$row1 = null;
foreach ($data1 as $row){
  if ($chektruck != $row[1]){
  $row1 = $row;
} elseif ($chektruck == $row[1]){
  $array = array_unique (array_merge ($row, $row1));
  var_dump($array);//do something usefull here
  //like generate a new object merging data
}
    $chektruck = $row[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...