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

Есть массив вида

rray
(
[0] => Array
(
[name] => Брянск
)

[1] => Array
(
[name] => Воронеж
)

[2] => Array
(
[name] => Екатеринбург
)
....

[name] - это ссылки. как можно при выводе делать разделение между городами на каждую букву?

Б
Брянск
В
Воронеж

....
  • Вопрос задан
  • 2785 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Nc_Soft
<?php
$data = [
    [
        'name' => 'Брянск'
    ],
    [
        'name' => 'Москва'
    ],
    [
        'name' => 'Бобруйск'
    ],
];

usort($data, function ($v1, $v2) {
    return strcmp($v1['name'], $v2['name']);
});

$letter = null;
foreach ($data as $v) {
    $currentLetter = mb_substr($v['name'], 0, 1, 'utf-8');
    if ($currentLetter !== $letter) {
        $letter = $currentLetter;
        echo "--- $letter ---", PHP_EOL;
    }
    echo $v['name'], PHP_EOL;
}

--- Б ---
Бобруйск
Брянск
--- М ---
Москва
Ответ написан
не совсем понятно что значит "[name] - это ссылки.".
но вообще как-то так.

$cities = array(...);
$cities_with_letters = array();
foreach ($cities as $city) {
  $letter = substr($city['name'], 0, 1);
  $cities_with_letters[$letter][] = $city;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 17:58
10000 руб./за проект
04 мая 2024, в 17:40
1000 руб./за проект
04 мая 2024, в 17:35
150000 руб./за проект