Buyur dostum. Mantığı şu. Tarihi dizi olarak atadım. Eğer ilk satırdan büyükse, ve tarih değişkeni boşsa, bir önceki diziyi yeni diziye aktar.
Tarih Kamyonlar
<?php
error_reporting(E_ALL ^ E_NOTICE);
$bakimlari = array(
0 => '<td class="tarih">10.03.2017</td><td class="kamyon">Ford</td>',
1 => '<td class="kamyon">Mercedes</td>',
2 => '<td class="tarih">11.03.2017</td><td class="kamyon">Scania</td>',
3 => '<td class="kamyon">ManTgx</td>',
);
$tarihara = '#<td class="tarih">(.*?)</td>#';
$kamyonara = '#<td class="kamyon">(.*?)</td>#';
for($i=0;$i<count($bakimlari);$i++){
preg_match_all($tarihara,$bakimlari[$i],$tarihler[$i]);
preg_match_all($kamyonara,$bakimlari[$i],$kamyonlar);
if (($i>0) && ($tarihler[$i][1][0]=="")) {
$tarihler[$i][1][0]= $tarihler[$i-1][1][0];
}
echo "<br>".$tarihler[$i][1][0]." ".$kamyonlar[1][0];
} ?>