Помощник
|
Соединить массивы |
alex159
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
15.5.2014, 10:24;
Ответить: matroskin8
Сообщение
#2
|
|
Здравствуйте.
Как-то вы сумбурно объяснили задачу: что бы значение повторяющихся элементов суммировались как суммировать ключи элементов массива где значения одинаковые? Так что нужно суммировать: значения или ключи? Дважды перечитал и все равно не понял, что и по какому алгоритму нужно сделать. Например, откуда в первом примере взялся в новом массиве ключ 6? Если суммировать повторяющиеся ключи или повторяющиеся значения, то все равно не получим в итоге 6... в исходных массивах по 3 элемента, а в итоговом 2... то же касается и прочих примеров. Попробуйте сформулировать задачу более понятно, можно буквально на пальцах, например, из перевого массива берем то-то (по какой-то закономерности/условию), из второго то-то (по той же закономерности/условию) и в итоге получаем что-то в итоговом массиве. |
|
|
kamchatniyoleg |
15.5.2014, 10:44;
Ответить: kamchatniyoleg
Сообщение
#3
|
|
Прочитал несколько раз - не понял до сих пор что имеете введу . Опишите подробнее и нормальным понятным языком .
|
|
|
alex159
|
Сообщение
#4
|
|
Извините, голова уже не варит.
В первом массиве значение каждого элемента это id. Во втором, значение каждого элемента это количество записей с таким id Нужно сделать так что бы значение с нижнего массива перешло в ключ первого массива т.е так
После чего суммировать ключи элементов с одинаковым значением.
Извините если не правильно объясняю. Задачу решил как то так
|
|
|
matroskin8 |
15.5.2014, 13:39;
Ответить: matroskin8
Сообщение
#5
|
|
Извините, голова уже не варит.
В первом массиве значение каждого элемента это id. Во втором, значение каждого элемента это количество записей с таким id Нужно сделать так что бы значение с нижнего массива перешло в ключ первого массива т.е так
Плохая идея. Смотрите, а что будет, если у нас кол-во статей для ID 1 будет не 2, а 1? Т.е. вот такие 2 массива:
Тогда, следуя алгоритму, мы должны получить такой промежуточный массив:
Т.е. в промежуточном массиве мы получим два одинаковых ключа 1... в результате интерпретатор просто перезапишет предыдущий элемент массива следующим и получим неожиданный результат:
Не знаком с деталями вашей задачи, но здравый смысл подсказывает, что она должна решаться правильно составленным запросом, который выберет из БД нужные ID и кол-во записей для них. |
|
|
alex159
|
Сообщение
#6
|
|
[member=matroskin8], есть 2 таблицы(`phone`,`list`) мне нужно с них вытащить город(`town`) и создать общею статистику по этим данным.
К примеру первая таблица выводит Киев | Николаев | Севастополь 4 | 1 | 5 Вторая Львов |Николаев| | 2 | 9 | В итоге должно получиться Киев | Николаев | Севастополь|Львов 4 | 10 | 5 | 2 |
|
|
kamchatniyoleg |
15.5.2014, 14:15;
Ответить: kamchatniyoleg
Сообщение
#7
|
|
посмотрите в сторону left join , а также GROUP BY
|
|
|
matroskin8 |
15.5.2014, 16:00;
Ответить: matroskin8
Сообщение
#8
|
|
Без дампа сложно что-то подсказать. Приложите дамп и покажите какой-нибудь простой реальный результат, который нужно вытащить из базы... лучше результат показать в виде картинки.
|
|
|
alex159
|
Сообщение
#9
|
|
Вот код которым я пытаюсь вывести
Но не работает корректно. Выводит
Куда теряются остальные города? -- -- Структура таблицы `list` --
-- -- Структура таблицы `phone` --
Сообщение отредактировал alex159 - 15.5.2014, 16:24 |
|
|
alex159
|
Сообщение
#10
|
|
|
понял. Самое интересно что я понимаю свою ошибку уже после того как напишу на форум :) .
Решил проблему так:
Всем большое спасибо!
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Двумерные массивы | 4 | people2010 | 11382 | 5.8.2010, 0:52 автор: -people2010- |
Текстовая версия | Сейчас: 28.3.2024, 22:08 |