С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 10

Как правильно объединить объекты?

16.01.2017, 22:13. Показов 3887. Ответов 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Array
(
    [0] => stdClass Object
        (
            [name] => Михаил Иванович
            [id_user] => 22
            [month] => Январь
            [kg] => 10
        )
 
    [1] => stdClass Object
        (
            [name] => Михаил Иванович
            [id_user] => 22
            [month] => Январь
            [kg] => 20
        )
 
    [2] => stdClass Object
        (
            [name] => Михаил Иванович
            [id_user] => 22
            [month] => Январь
            [kg] => 15
        )
 
    [3] => stdClass Object
        (
            [name] => Игорь Макаров
            [id_user] => 25
            [month] => Февраль
            [kg] => 50
        )
 
    [4] => stdClass Object
        (
            [name] => Михаил Иванович
            [id_user] => 22
            [month] => Февраль
            [kg] => 60
        )
 
    [5] => stdClass Object
        (
            [name] => Игорь Макаров
            [id_user] => 25
            [month] => Март
            [kg] => 111
        )
 
    [6] => stdClass Object
        (
            [name] => Наталья Краснова
            [id_user] => 13
            [month] => Март
            [kg] => 112
        )
 
    [7] => stdClass Object
        (
            [name] => Наталья Краснова
            [id_user] => 13
            [month] => Январь
            [kg] => 10
        )
 
)
В коде видно выборку по трем людям - Игорь Макаров и Михаил Иванович. Суть такова, надо вывести имя человека и сумму полей [kg]. Причем выводить по убыванию. Сначала того, у кого сумма полей [kg] будет наибольшая.

Игорь Макаров - 161 кг
Наталья Краснова - 122 кг
Михаил Иванович - 105 кг

Возможно, задача не самая сложная, но я такое делаю впервые, и буду благодарен, если кто-то подтолкнет на дельную мысль.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.01.2017, 22:13
Ответы с готовыми решениями:

[ JS ] Как объединить объекты?
// Создаем массив: let arr = ; // Помещаем пару объектов: arr.push({ image: { el: '', path: '../img/1.jpg' }, ...

Как объединить объекты формы в массив
Доброго времени суток) Неуверен в постановке вопроса, но суть вот в чем Создаю форму с большим количеством CheckBox-ов(10 строкам,...

Как объединить в списке объекты нескольких классов?
Здравствуйте! У меня есть родительский класс и два потомка. Объекты этих трех классов нужно объединить с одном списке. Как это осуществить?

3
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.01.2017, 12:04
Лучший ответ Сообщение было отмечено ed91 как решение

Решение

ed91,
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$res = array();
foreach ($arr as $obj) { // $arr - ваш массив с объектами
    if (isset($res[$obj->name])) {
        $res[$obj->name] += $obj->kg;
    } else {
        $res[$obj->name] = $obj->kg;
    }
    echo $res[$obj->name], '<br>';
}
 
arsort($res);
 
foreach ($res as $key => $value) {
    echo $key, ' - ', $value, '<br>';
}
1
0 / 0 / 0
Регистрация: 28.12.2016
Сообщений: 10
17.01.2017, 14:13  [ТС]
Kerry_Jr, спасибо, сработало!
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.01.2017, 15:44
ed91, 8-я строка лишняя
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2017, 15:44
Помогаю со студенческими работами здесь

Как правильно различить объекты
Здравствуйте уважаемые форумчане возникла у меня такая проблема - есть два элемента : &lt;a class='class1'...

Как правильно создавать объекты ?
Как правильно создавать объекты и как они расходуют память, что является правильным подходом? вариант 1: public class...

Как правильно сравнивать объекты?
Есть такой код поиска public ActionResult PhoneDirectory(string nameText, string surnameText) { ...

Как правильно объединить цикл?
Доброго времени суток! Как правильно объединить цикл? while (!(cin &gt;&gt; value_one_) || value_one_ &lt; 0 || value_one_) { cout...

Как Правильно объединить таблицы
Как Правильно объединить таблицы, чтоб сбор информации брался с обеих формул =ГПР(B2;Таблица12;2) =ГПР(C2;Таблица3;2;)


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru