3v4l.org

run code in 300+ PHP versions simultaneously
<?php //retrieved from database $kategorier = [ ['Kategori' => 'Burger'], ['Kategori' => 'Pizza'], ['Kategori' => 'Pizza2'], ['Kategori' => 'Pizza3'], ['Kategori' => 'Chinaboks'], ['Kategori' => 'Artiskok'], ['Kategori' => 'Durum'], ['Kategori' => 'Asiatisk'], ['Kategori' => 'Asiatisk2'], ['Kategori' => 'Asiatisk20'], ['Kategori' => 'Asiatisk3'], ]; $letters = []; if ($kategorier) { $kategorier = array_column($kategorier, 'Kategori'); //sort the resulting array as a human would natsort($kategorier); foreach ($kategorier as $kategori) { $k = strtoupper($kategori[0]); if (!isset($letters[$k])) { $letters[$k] = []; } $letters[$k][] = $kategori; } } ?> <ul class="category-index"> <?php foreach ($letters as $k => $kategorier) { ?> <li> <h2><?php echo $k; ?></h2> <ul class="category"> <?php foreach ($kategorier as $kategori) { ?> <li><?php echo $kategori; ?></li> <?php } ?> </ul> </li> <?php } ?> </ul>
Output for 5.6.38, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
<ul class="category-index"> <li> <h2>A</h2> <ul class="category"> <li>Artiskok</li> <li>Asiatisk</li> <li>Asiatisk2</li> <li>Asiatisk3</li> <li>Asiatisk20</li> </ul> </li> <li> <h2>B</h2> <ul class="category"> <li>Burger</li> </ul> </li> <li> <h2>C</h2> <ul class="category"> <li>Chinaboks</li> </ul> </li> <li> <h2>D</h2> <ul class="category"> <li>Durum</li> </ul> </li> <li> <h2>P</h2> <ul class="category"> <li>Pizza</li> <li>Pizza2</li> <li>Pizza3</li> </ul> </li> </ul>

preferences:
159.26 ms | 410 KiB | 5 Q