@semki096

Как преобразовать многомерный массив сгруппировав подмассивы у которых совпадают например поля года??

$arr = array(array('id' => 1,  'year' => 2013, 'name' =>  "Александр"),
  array('id' =>2, 'year' => 2013, 'name' =>  "Сергей"),
  array('id' => 3, 'year' => 2012, 'name' =>  "Никита"),
  array('id' => 4, 'year' => 2012, 'name' =>  "Володя"));

function by_year($arr) {
  $result = array();
  foreach ($arr as $l) {
    $result[$l['year']][] = $l['name'];
  }
  return $result;
}


Нашёл я такой пример, он рабочий, но не могу понять как работает этот кусочек $result[$l['year']][] = $l['name']; буду благодарен если обьясните логику, а также другие варианты группировки, если они есть.
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
@mib
$result[$l['year']][] = $l['name']; перефразируем:

$result['2012'][] = "Никита";
$result['2012'][] = "Володя";

теперь $result['2012'] будет содержать {"Никита", "Володя"}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы