Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Сложение повторяющихся элементов массива
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
Я писал этот скрипт с 10.00 до 16.53. Далее мои мозги перешли в режим off, простите за нубство, подскажите, как сделать.
Есть большой многомерный массив, в нем могут быть повторяющиеся айди юзеров:
Надо:
если id одинаковые, то "соединить" [0] и [1] (например) в [0], все Option - сложить, а юзерНейм - оставить любой.
Спасибо (Добавление)
Мне тут пришла идея - записывать в дополнительный массив значения id и номер массива, в котором оно находится:
Array
Это как пример, могут ведь быть повторяющиеся значения. По сути - User_id_1 - это объект(Не ООП), а индекс - ссылка. То есть мы точно знаем, в какой "части" многомерного массива находится нужный User_id.
Далее все ясно - можно перебором брать нужный id, делать поиск, брать нужный индекс. И тогда мы точно знаем, что, например, User_id_1 будет встречаться в индексах 1, 10, 20 и тд (например). А потом уже складывать значения, ссылки ведь уже есть.
Вот я только юзаю array_search, а он доходит до первого совпадения, а дальше нет.
То есть в примере выше array_search вернет 0, а не 0 и 1.
Я вообще на верном пути и есть ли аналог array_search? in_array не подходит и иные в "см. также"
вместо id поставить 19, то Notice: Undefined index: Option0-3
Так и должно быть? (Добавление)
Все, понял. Спасибо огромное, я бы так красиво не написал бы
Точнее мне даже стыдно кидать сюда свой исходник
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Помог: 0 раз(а)
А можно еще, если id одинаковые, то создать в общей записи (в которую соединили) индекс Option4, которое содержит количество повторений, то есть, по примеру, сколько раз повторялся массив в id=19
----- In Console We Trust. Code hard. Or die.
kroko
Отправлено: 13 Сентября, 2012 - 10:37:53
Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2012
Помог: 0 раз(а)
Tox, подскажите пожалуйста как убрать "Notice: Undefined index: Option0-3"
Спасибо.
Tox
Отправлено: 14 Сентября, 2012 - 22:54:30
Посетитель
Покинул форум
Сообщений всего: 314
Дата рег-ции: Нояб. 2011 Откуда: Россия
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.