1 回答

TA貢獻2036條經(jīng)驗 獲得超8個贊
您需要做的第一件事是根據(jù)您可以使用的制造商對數(shù)組進行排序usort
,按值對沒有制造商的條目進行排序id
。然后你可以遍歷汽車,檢查制造商是否與前一輛汽車相同,如果是,則輸出一個新<div>
元素并關(guān)閉前一個(如果需要):
// sort based on manufacturer
usort($cars, function ($a, $b) {?
? ? if (!$a->manufacturer) {
? ? ? ? // if both null, sort by id
? ? ? ? if (!$b->manufacturer) return $a->id - $b->id;
? ? ? ? // otherwise sort null values last
? ? ? ? return 1;
? ? }
? ? if (!$b->manufacturer)
? ? ? ? // sort null values last
? ? ? ? return -1;
? ? return $a->manufacturer - $b->manufacturer;
});
$lastmfg = 0;
foreach ($cars as $car) {
? ? if (!$car->manufacturer || $car->manufacturer != $lastmfg) {
? ? ? ? if ($lastmfg !== 0) echo "</div>\n";
? ? ? ? echo '<div class="container'. ($car->manufacturer ?? ' id' . $car->manufacturer : '') .'">'. "\n";
? ? }
? ? echo 'ID: ' . $car->id . ' - ' . $car->title . "\n";
? ? $lastmfg = $car->manufacturer;
}
echo "</div>\n";
輸出(用于擴展演示):
<div class="container id1">
ID: 1 - Golf
ID: 4 - Passat
ID: 5 - Toureg
</div>
<div class="container id2">
ID: 2 - Focus
ID: 6 - Galaxy
</div>
<div class="container id3">
ID: 9 - Phoenix
</div>
<div class="container">
ID: 3 - Jazz
</div>
<div class="container">
ID: 7 - Falcon
</div>
<div class="container">
ID: 8 - Commodore
</div>
<div class="container">
ID: 10 - Cressida
</div>
- 1 回答
- 0 關(guān)注
- 121 瀏覽
添加回答
舉報