Поддержка Плагины Как сгруппировать список по алфавиту.

  • Здравствуйте. Помогите сгруппировать текст по алфавиту. Пробовал сделать сам, но не получилось.

    Есть код:

    $terms = get_terms('category');
    $count = count($terms);
    if($count > 0){
    	foreach ($terms as $term) {
            echo $term->name; echo '<br>';
    }}

    Получается:

    Аккумуляторные батареи <br>
    Аксессуары для ноутбуков <br>
    Аксессуары для планшетов <br>
    Аксессуары для смартфонов <br>
    Батарейки <br>
    Браслеты для смартфонов <br>
    Детские планшеты <br>
    Зарядные устройства <br>

    А нужно чтобы он их группировал по первой букве, например:

    <div>
    Аккумуляторные батареи
    Аксессуары для ноутбуков
    Аксессуары для планшетов
    Аксессуары для смартфонов
    </div>
    <div>
    Батарейки
    Браслеты для смартфонов
    </div>
    <div>
    Детские планшеты
    </div>
    <div>
    Зарядные устройства
    </div>

Просмотр 1 ответа (всего 1)
  • Кому интересно, вот решение:

    $letter = mb_substr(reset($terms)->name, 0, 1, 'UTF-8');
    //$terms->rewind();$letter = mb_substr($terms->current(), 0, 1, 'UTF-8');//If $terms instanceof Itereator
    echo '<div>';
    foreach($terms as $term) {
    	$tLetter = mb_substr($term->name, 0, 1, 'UTF-8');
    	if ($tLetter !== $letter) {
    		$letter = $tLetter;
    		echo "</div><div>";
    	}
    	echo $term->name, "<br />";
    }
    echo '</div>';
Просмотр 1 ответа (всего 1)
  • Тема «Как сгруппировать список по алфавиту.» закрыта для новых ответов.