$address = array(); $rows = array( array('область 1', 'город 11', 'улица 111'), array('область 1', 'город 11', 'улица 112'), array('область 1', 'город 12', 'улица 121'), array('область 1', 'город 12', 'улица 122'), array('область 2', 'город 21', 'улица 211'), array('область 2', 'город 21', 'улица 212'), array('область 2', 'город 22', 'улица 221'), array('область 2', 'город 22', 'улица 222') ); foreach($rows as $r) fill_array($address, $r); var_dump($address); function fill_array(&$arr, $vals) { $val = array_shift($vals); if (!isset($arr[$val])) $arr[$val] = array(); if (!empty($vals)) fill_array($arr[$val], $vals); } |