Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
извините, я думал это было понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 10:33 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
woojinизвините, я думал это было понятно я тоже думал что понял наконец все)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 10:36 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
думаю смогу въехать в принцип формирования выходного массива, если поясните как t12 переплыл из элемента с ключом 12 в элемент с ключом 3 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 11:24 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
Програмёрдумаю смогу въехать в принцип формирования выходного массива, если поясните как t12 переплыл из элемента с ключом 12 в элемент с ключом 3 :) у них id = s_53 у обоих, по этому у первого db стало больше на количество указанное в db второго ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2014, 20:50 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
woojin, Жжешь. Почти как наши заказчики. Завтра, насколько я понимаю, условие задачи еще немного видоизменится. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 02:35 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
woojinПрограмёрдумаю смогу въехать в принцип формирования выходного массива, если поясните как t12 переплыл из элемента с ключом 12 в элемент с ключом 3 :) у них id = s_53 у обоих, по этому у первого db стало больше на количество указанное в db второго вообще-то у них s_584 :) Но тогда интересует почему t12, а не t6 (ведь в элементе с ключом 3 находится именно t6 с таким значением). Как было сказано можно менять порядок ключей "t..", но в данном случае поменялся не порядок ключей, а именно значение ключа. Так значит ключи "t.." вообще не важны как таковые и могут быть любыми? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 10:10 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
Програмёрвообще-то у них s_584 :) Но тогда интересует почему t12, а не t6 (ведь в элементе с ключом 3 находится именно t6 с таким значением). Как было сказано можно менять порядок ключей "t..", но в данном случае поменялся не порядок ключей, а именно значение ключа. Так значит ключи "t.." вообще не важны как таковые и могут быть любыми? наверное я опять что то не так сказал (мне кажется я где то выше упоминал), надо складывать db у тех элементов у которых в индексе есть i* , а все остальные (у которых t* ), просто добавлять в конец массива и элемент с индексом i* , всегда-обязательно должен быть первым ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 10:47 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
woojinПрограмёрвообще-то у них s_584 :) Но тогда интересует почему t12, а не t6 (ведь в элементе с ключом 3 находится именно t6 с таким значением). Как было сказано можно менять порядок ключей "t..", но в данном случае поменялся не порядок ключей, а именно значение ключа. Так значит ключи "t.." вообще не важны как таковые и могут быть любыми? наверное я опять что то не так сказал (мне кажется я где то выше упоминал), надо складывать db у тех элементов у которых в индексе есть i* , а все остальные (у которых t* ), просто добавлять в конец массива и элемент с индексом i* , всегда-обязательно должен быть первым УРА ))) наконец-то сошлось (про складывания элементов только с индексом "i*" вы ещё не говорили) :) 1. есть двухмерный массив (точнее массив массивов) объектов "array(array('имя' => array('id', 'db')) [, array('имя' => array('id', 'db'))])". Пускай ключ такого вложенного массива будем называть именем объекта, а внутренние массивы (в которых лежат объекты) назовём группами... тогда ... 2. Группы в которых есть объекты с именем формата "i*" и одинаковыми 'id' сливаются. 3. При сливании групп все объекты кроме первого с одинаковыми 'id' и именем формата "i*" удаляются, а значение "db" оставшегося (с именем "i*") объекта заменяется суммой значений всех элементов с данным 'id'. Вот правила. которые Вы так старались описать :) С этой частью закончили... следующее... Может ли в одной группе быть 2 или более элементов с именем "I*"? Если может, то как проводить слияние таких групп в случае (?): Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. то есть любые две группы могут быть слиты в одну? будем ли мы сливать их все в одну? или как-то попарно? или такой вариант вообще не возможен? и ещё... если у нас есть 2 объекта с одинаковым именем формата "t*" в группах, которые сливаются, как поступить с такими объектами? ведь мы их не сливаем... но если не проделать какие либо доп. операции, то из всех одноимённых объектов в группе останется только один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 12:30 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
Код: 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. Это код замечу не айс, думаю тут могут в разы лучше написать :) Но всё же это менее путано чем у Вас ;) На выходе нужный массив... при этом везде рассчитано на соблюдение условия, что элементы с ключом i* идут первыми (то есть мы их в группе не ищем, а сразу знаем что они первые). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2014, 19:06 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
ПрограмёрМожет ли в одной группе быть 2 или более элементов с именем "I*"? не может, всегда только 1 элемент, а вот элементов "t*" может быть сколько угодно Програмёресли у нас есть 2 объекта с одинаковым именем формата "t*" в группах, которые сливаются, как поступить с такими объектами? ведь мы их не сливаем... но если не проделать какие либо доп. операции, то из всех одноимённых объектов в группе останется только один. такого тоже быть не может, т.к. (смотрим на входящий массив), все элементы идут с цифрой которая всегда больше предыдущей (у элементов i* и t* вообще получается сквозная нумерация) ПрограмёрЭто код замечу не айс, думаю тут могут в разы лучше написать :) Но всё же это менее путано чем у Вас ;) На выходе нужный массив... при этом везде рассчитано на соблюдение условия, что элементы с ключом i* идут первыми (то есть мы их в группе не ищем, а сразу знаем что они первые). на другом форуме дали более изящное решение. чем моё и Ваше Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. вот такую корректировку внёс уже я, заменил $array[$map[$i['id']][0]] на ссылочную переменную $tmp Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2014, 06:41 |
|
||
|
уменьшение массива-массивов
|
|||
|---|---|---|---|
|
#18+
woojin, Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Мне показалось удобным выделить операцию слияния групп в функцию. Ну это на Ваше усмотрение (просто мне такой код кажется удобнее). А вообще, Вам дали вполне достойный вариант :) В общем даже придраться нету к чему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2014, 11:02 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38598810&tid=1462927]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 364ms |

| 0 / 0 |
