У меня есть следующий массив:
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];