|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||||||
Группировка массива19.06.2014, 12:14. Показов 8459. Ответов 17
Метки нет (Все метки)
Необходимо сгруппировать по любому полю, которое я укажу в качестве параметра функции. К видите хочу по name но не получается, прошу помощи. Заранее спасибо.
0
|
||||||
| 19.06.2014, 12:14 | |
|
Ответы с готовыми решениями:
17
Группировка массива Группировка массива Группировка массива |
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
| 19.06.2014, 12:16 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
|
| 19.06.2014, 12:20 [ТС] | |
|
Ну так у меня поле id в массиве или не надо?
0
|
|
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|||
| 19.06.2014, 12:25 | |||
Сообщение было отмечено Diana95 как решение
Решениевторое: Добавлено через 1 минуту лучше скажите в каком виде вам нужен результат
1
|
|||
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||||||
| 19.06.2014, 12:25 [ТС] | ||||||
|
Я тут исправила
0
|
||||||
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
| 19.06.2014, 12:29 | |
|
ну если вы именно такой результат хотели получить, тогда все верно
1
|
|
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||
| 19.06.2014, 12:43 [ТС] | ||
|
Теперь у меня новая задача, я должна группировать по конкретному полю, т.е. если указан id когда вызываю, то группирую по id, а если по name, то по name и выдавать все значения.
Например, $res=resort($array, 'id'); и обращаться к функции которая сгруппирует их id, а у меня уже функция под name заточена, как это сделать мой необразованный мозг пока не знает. Простите за то что пристаю всё. Добавлено через 9 минут Например, $res=resort($array, 'id'); и обращаться к функции которая сгруппирует их id, а у меня уже функция под name заточена, как это сделать мой необразованный мозг пока не знает. Простите за то что пристаю всё.
0
|
||
|
9 / 9 / 6
Регистрация: 22.10.2013
Сообщений: 36
|
||||||
| 19.06.2014, 12:45 | ||||||
|
Diana95, что-то типа вот этого?
1
|
||||||
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
||||||
| 19.06.2014, 12:48 | ||||||
Сообщение было отмечено Diana95 как решение
Решение
у меня получилось что-то такое
1
|
||||||
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||||||
| 19.06.2014, 13:39 [ТС] | ||||||
|
Всё супер а теперь нужна многомерная группировка!! Как мне это надоело уже!
0
|
||||||
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
| 19.06.2014, 13:43 | |
|
что значит многомерная?
1
|
|
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||
| 19.06.2014, 13:45 [ТС] | ||
|
группировать по id, а внутри по name Надеюсь так понятно.
0
|
||
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
| 19.06.2014, 13:49 | |
|
не особо
лучше напишите как это должно выглядеть что-то типа такого примера: Array ( [Ivan] => Array ( [0] => Array ( [name] => Ivan [id] => 1 ) [1] => Array ( [name] => Ivan [id] => 2 ) [2] => Array ( [name] => Ivan [id] => 4 ) ) [Sergei] => Array ( [0] => Array ( [name] => Sergei [id] => 3 ) ) )
0
|
|
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||||||||||||
| 19.06.2014, 14:43 [ТС] | ||||||||||||
|
Ну вот например такой массив
$array= array( 0=>array("name"=>"Ivan", 'id'=>5), 1=>array("name"=>"Ivan", 'id'=>2), 2=>array("name"=>"Sergei", 'id'=>3), 3=>array("name"=>"Ivan", 'id'=>4)); Я задаю группировку и вот сейчас вот так у меня получается:
Если что выделил изменения тэгами жирное выделение Добавлено через 18 минут Добавлено через 26 минут Вадим, теперь понятнее?
0
|
||||||||||||
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
|
| 19.06.2014, 14:57 | |
|
честно говоря, это похоже на какую-то, извините, порнографию, и я не понимаю смысла и логики этих действий
1
|
|
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
|
| 19.06.2014, 15:12 [ТС] | |
|
Это расскажите моему преподавателю, который хочет этой задачей научить нас работать с массивами, ну и заодно группировку приписал.
Добавлено через 8 минут Ой блин попутала вот так: Array ( [Ivan] => Array ( [0] => Array ( [name] => Ivan [id] => 5 ) [1] => Array ( [name] => Ivan [id] => 2 ) [2] => Array ( [name] => Ivan [id] => 4 ) ) [Sergei] => Array ( [0] => Array ( [name] => Sergei [id] => 3 ) ) А надо вот так Array ( [Ivan] => Array ( [0] => Array ( [name] => Ivan [id] => 2 ) [1] => Array ( [name] => Ivan [id] => 4 ) [2] => Array ( [name] => Ivan [id] => 5 ) ) [Sergei] => Array ( [0] => Array ( [name] => Sergei [id] => 3 ) ) Просто группировка по полю id была
0
|
|
|
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
|
||||||
| 19.06.2014, 15:22 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 23
|
||||||
| 19.06.2014, 20:21 [ТС] | ||||||
|
Спасибо большое надеюсь что это будет последнее.
Добавлено через 45 минут Я его убью, но наконец-то последнее задание, теперь массив в виде $array= array( 0=>array("name"=>"Ivan", 'id'=>5, 'city' => 'Piter'), 1=>array("name"=>"Ivan", 'id'=>10, 'city' => 'Moscow'), 2=>array("name"=>"Sergei", 'id'=>3, 'city' => 'Piter'), 3=>array("name"=>"Ivan", 'id'=>4, 'city' => 'Piter')); И если я задаю $key = array('city','name');, то должен отсортировать сначала по городам, например, Piter следом всех по именам, т.е. все Ivan и Sergei, которые в этом городе живут и там дальше как было, т.е. просто ещё один уровень добавился. НО! надо придумать, чтобы программа при дальнейших добавлениях новых полей снова формировалась не только как сейчас 2-х уровневый,т.е. была универсальной. P.S. Для тех кто решит эту задачу, оставьте номер своего кошелька в долгу не останусь. Добавлено через 5 минут Напомню если что вот моя программа полностью
Видимо сложная задача.....ладно сама что-нибудь придумаю
0
|
||||||
| 19.06.2014, 20:21 | |
|
Помогаю со студенческими работами здесь
18
Группировка массива по общему свойству Группировка и сложение значений двумерного массива по совпадению двух значений RegExp: группировка Группировка диапазонов чисел Массив - группировка строк Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|