3v4l.org

run code in 300+ PHP versions simultaneously
<?php $_GET['sortBy'] = 'B'; function get_permalink() { return 'someurl'; } function get_terms($array) { return ['foo', 'bar', 'öle', 'can']; } function esc_html($string) { return htmlspecialchars($string, ENT_QUOTES); } function alpha_pagination() { $chars = array_fill_keys(range('A', 'Z'), false); foreach (get_terms(['taxonomy' => 'unknown', 'hide_empty' => true]) as $tax) { $chars[mb_strtoupper(mb_substr($tax, 0, 1))] = true; } ksort($chars); foreach ($chars as $char => $hasTerms) { printf( '<%1$s class="button%2$s%3$s">%4$s</%1$s>' . "\n", $hasTerms ? 'a' : 'span', // %1$s ($_GET['sortBy'] ?? '_') === $char ? ' selected' : '', // %2$s $hasTerms ? '" href="' . get_permalink() . '?' . http_build_query(['sortby' => $char]) : ' disable', // %3$s esc_html($char) // %4$s ); } } alpha_pagination();

preferences:
25.29 ms | 411 KiB | 5 Q