Задать вопрос
@jorshjorsh95

Как разбить на группы по первой букве?

Добрый день.

есть массив вида:
1 => Ascona
2 => Asert
3 => Belfort
4 => Buddap
5 => Central park

Он уже отсортирован по алфавиту, но мне нужно разбить их по разным блокам, чтобы сделать поиск по алфавиту

Пока в голове только 1 вариант, это перебирать массивом и когда текущая 1 буква не совпадает с предыдущей, создавать новый блок с новой буквой. Есть еще варианты?

Должно быть примерно так:
A...
Ascona
Asert

B...
Belfort
Buddap

и тд
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
AlexMcArrow
@AlexMcArrow
Люблю РНР, да я такой!
Ваш вариант жизнеспособен, но его можно упростить.
$res = [];
foreach($list as $val) {
  if(!isset($res[$val[0]])) {
    $res[$val[0]] = [];
  }
  $res[$val[0]][] = $val;
}

Как результат в массиве $res будет разбиты по первым буквам весь список.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽