Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
11 / 11 / 9
Регистрация: 26.08.2011
Сообщений: 177

Сгруппировать значения массива

01.09.2017, 12:53. Показов 2302. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Имеется массив примерно такого вида:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Array(
Array
(
    [id] => 60
    [idsender] => 29
    [idrecip] => 12
    [msg] => Сообщение7
)
Array
(
    [id] => 67
    [idsender] => 21
    [idrecip] => 12
    [msg] => Сообщение22
)
Array
(
     [id] => 63
    [idsender] => 23
    [idrecip] => 12
    [msg] => Сообщение
)
Array
(
    [id] => 61
    [idsender] => 29
    [idrecip] => 12
    [msg] => Сообщение3
)
Array
(
    [id] => 67
    [idsender] => 21
    [idrecip] => 12
    [msg] => Сообщение2
)
)
Подскажите как мне сгруппировать сообщения от одного пользователя, т.е. выбрать сначала с одним idsender, потом с другим и т.д.
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.09.2017, 12:53
Ответы с готовыми решениями:

Сравнить и сгруппировать одинаковые массивы
Добрый день. Помогите в решении задачи, пожалуйста. Есть массив из 261 элемента, каждый элемент (начиная с 1 - го) - вложенный массив...

Как без array_unique удалить из одного массива все значения, которые совпадают с значениями второго массива
Всем привет, не подскажете как без array_unique удалить из одного массива все значения, которые совпадают с значениями второго массива....

Замена ключей массива на значения другого массива
Есть 2 массива. Array( =>qwe =>asd ) Array( =>array( =>136 =>137

3
> /dev/null
 Аватар для Блеф
286 / 119 / 86
Регистрация: 14.05.2014
Сообщений: 767
01.09.2017, 16:52
Возможно вы имели ввиду сортировку?


Кликните здесь для просмотра всего текста
PHP
1
2
3
usort($array, function($a, $b){
    return ($a['idsender'] - $b['idsender']);
});
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
02.09.2017, 13:01
rozalski, может так?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
$s = Array(
0 => Array
(
    'id' => 60,
    'idsender' => 29,
    'idrecip' => 12,
    'msg' => 'Сообщение7'
),
1=>Array
(
    'id' => 67,
    'idsender' => 21,
    'idrecip' => 12,
    'msg' => 'Сообщение22'
),
2=>Array
(
    'id' => 63,
    'idsender' => 23,
    'idrecip' => 12,
    'msg' => 'Сообщение'
),
3=>Array
(
    'id' => 61,
    'idsender' => 29,
    'idrecip' => 12,
    'msg' => 'Сообщение3'
),
4=>Array
(
    'id' => 67,
    'idsender' => 21,
    'idrecip' => 12,
    'msg' => 'Сообщение2'
)
);
function select($column, $value, &$src) {
    return array_filter($src, function($i)use($column, $value){
        return $i[$column] == $value;
    });
}
 
var_dump(select('idsender', 29, $s));
0
276 / 201 / 143
Регистрация: 22.01.2016
Сообщений: 637
02.09.2017, 22:14
или может так? (для своего примера взял массив из примера ув. Kerry_Jr)
PHP
1
2
3
4
5
6
7
$result = [
/* idsender => array( array(data), array(data1), ... ) */
];
foreach ($s as $k => $v) {
    $result[$v['idsender']][] = $v;
}
print_r($result);
http://sandbox.onlinephpfuncti... 9cb42f7524

Добавлено через 3 минуты
PHP
1
var_dump( $result[29] ); // 29 - idsender
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.09.2017, 22:14
Помогаю со студенческими работами здесь

Сгруппировать массив , найти сумму и отсортировать по дате
Дан массив данных, нужно сгруппировать по дате, и найти сумму ячеек и , под конец отсортировать оп дате array(14) { =>...

В двумерном массиве найти совпадения значений и сгруппировать
Подскажите пожалуйста, как, с помощью PHP, сделать из одного массива другой Начальный массив: Array ( => Array ...

Сгруппировать значения в массиве
Есть такой массив объектов const arr1 = Нужно получить такой const arr2 = }, { id: 2, values:

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

Сгруппировать строки, а разные значения в столбце записать в одну строку через запятую
Как сделать? :sorry:Все значения по полям совпадают кроме значений в двух (в дальнейшем будет 4 столбца - но я сама потом сделаю) столбцах,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru