В приведенном ниже многомерном массиве я хотел бы объединить массивы с одинаковым merge_id. Я не уверен, что слово «слияние» — правильное слово: в приведенном ниже примере массив['0'] должен стать массивом['0'] с массивом['0']['0'] и массивом[' 0']['1'], последнее равно массиву['1']. Я надеюсь, что это имеет смысл...
Массив выходит из базы данных, отсортированной по merge_id, поэтому массивы с совпадающим merge_id всегда находятся «рядом» друг с другом, и их всегда будет только 2 с тем же merge_id
Когда я просматриваю массив, я знаю, что мне нужно сохранить переменную, которая всегда равна предыдущему merge_id, и если есть совпадение между предыдущим и текущим, то объединить .
Array
(
[0] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 3
[fee] => 111
[year] => 2009
[quarter] => 3
[date_inserted] => 1264948583
[description] => 2009 - Q3
[fee_type] =>
[merge_id] => a87ff679a2f3e71d9181a67b7542122c
[total_paid] => 0
[total_remainder] => 0
)
[1] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 6
[fee] => 55.5
[year] => 2010
[quarter] => 2
[date_inserted] => 1264949470
[description] => 2010 - Q2
[fee_type] =>
[merge_id] => a87ff679a2f3e71d9181a67b7542122c
[total_paid] => 0
[total_remainder] => 0
)
[2] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 4
[fee] => 111
[year] => 2009
[quarter] => 4
[date_inserted] => 1264948583
[description] => 2009 - Q4
[fee_type] =>
[merge_id] =>
[total_paid] => 0
[total_remainder] => 0
)
[3] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 7
[fee] => 55.5
[year] => 2010
[quarter] => 3
[date_inserted] => 1264949470
[description] => 2010 - Q3
[fee_type] =>
[merge_id] =>
[total_paid] => 0
[total_remainder] => 0
)
)
Код
$merger = $data['search']['0']['merge_id'];
$i = 0;
foreach ($data['search'] as $fee) {
if ($fee['merge_id'] == $merger) {
//bump up & merge arrays
???
}
$merger = $fee['merge_id'];
$i++;
}
Подробнее здесь: https://stackoverflow.com/questions/217 ... y-a-column
Группировать строки двумерного массива по столбцу [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1731222446
Anonymous
В приведенном ниже многомерном массиве я хотел бы объединить массивы с одинаковым merge_id. Я не уверен, что слово «слияние» — правильное слово: в приведенном ниже примере массив['0'] должен стать массивом['0'] с массивом['0']['0'] и массивом[' 0']['1'], последнее равно массиву['1']. Я надеюсь, что это имеет смысл...
Массив выходит из базы данных, отсортированной по merge_id, поэтому массивы с совпадающим merge_id всегда находятся «рядом» друг с другом, и их всегда будет только 2 с тем же merge_id
Когда я просматриваю массив, я знаю, что мне нужно сохранить переменную, которая всегда равна предыдущему merge_id, и если есть совпадение между предыдущим и текущим, то объединить .
Array
(
[0] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 3
[fee] => 111
[year] => 2009
[quarter] => 3
[date_inserted] => 1264948583
[description] => 2009 - Q3
[fee_type] =>
[merge_id] => a87ff679a2f3e71d9181a67b7542122c
[total_paid] => 0
[total_remainder] => 0
)
[1] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 6
[fee] => 55.5
[year] => 2010
[quarter] => 2
[date_inserted] => 1264949470
[description] => 2010 - Q2
[fee_type] =>
[merge_id] => a87ff679a2f3e71d9181a67b7542122c
[total_paid] => 0
[total_remainder] => 0
)
[2] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 4
[fee] => 111
[year] => 2009
[quarter] => 4
[date_inserted] => 1264948583
[description] => 2009 - Q4
[fee_type] =>
[merge_id] =>
[total_paid] => 0
[total_remainder] => 0
)
[3] => Array
(
[client_id] => 5
[company_name] => company111_name
[id] => 7
[fee] => 55.5
[year] => 2010
[quarter] => 3
[date_inserted] => 1264949470
[description] => 2010 - Q3
[fee_type] =>
[merge_id] =>
[total_paid] => 0
[total_remainder] => 0
)
)
Код
$merger = $data['search']['0']['merge_id'];
$i = 0;
foreach ($data['search'] as $fee) {
if ($fee['merge_id'] == $merger) {
//bump up & merge arrays
???
}
$merger = $fee['merge_id'];
$i++;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/2172324/group-rows-of-a-2d-array-by-a-column[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия