Jag tror att om jag skulle göra det här skulle jag skapa en funktion för att samla in leverantörerna och deras artiklar och sedan gå igenom dem för att visa, något i stil med:
function getVendors()
{
foreach($_SESSION["products"] as $product) {
$org[$product["postbyvendor"]][] = $product["productname"];
}
return (!empty($org))? $org : array();
}
foreach(getVendors() as $vendor => $prods) {
echo "<li>{$vendor}</li>";
echo "<li>".implode("</li><li>",$prods)."</li>";
}