Хобрук: Ваш путь к мастерству в программировании

Каков эффективный способ разбить многомерный массив на набор массивов на основе значения?

У меня есть многомерный массив, подобный следующему:

Array (

       [0] => stdClass Object (
                [name] => StackOverflow
                [image] => CanHelp.jpg
       ) 

       [1] => stdClass Object (
                [name] => AnotherObject
                [image] => SecondImage.jpg
       ) 
)

Как я могу упорядочить/разбить этот массив на группы на основе первой буквы [имя]?

т. е. в этом массиве около 1000 элементов, которые я уже отсортировал в алфавитном порядке по [имя], однако я хочу иметь группы, начинающиеся с «A», «B» и т. д.

Например, для «A» и «S»:

Array (

       [0] => stdClass Object (
                [name] => AnotherObject
                [image] => SecondImage.jpg
       ) 

       [1] => stdClass Object (
                [name] => AndAnother
                [image] => notImportant.jpg
       )
)

Array (

       [0] => stdClass Object (
                [name] => StackOverflow
                [image] => CanHelp.jpg
       )
)

Ответы:


1
  • практически идеально! Благодарность! еще одна вещь - можно ли сгруппировать неалфавитные символы в один массив? например [0]? включая цифры и другие символы. 07.09.2011
  • @samb Конечно. Логика достаточно проста для расширения. :П 07.09.2011
  • @roselan приветствует - сделайте это '/[A-Za-z]/', и это то, что я хотел! 07.09.2011
  • Новые материалы

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

    Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
    Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..