Объединить массивы (PHP)

Как объединить массивы таким образом?

источник:

Array ( [0] => Array ( [id] => 3 [title] => book [tval] => 10000 ) [1] => Array ( [id] => 3 [title] => book [tval] => 1700 ) [3] => Array ( [id] => 27 [title] => fruit [tval] => 3000 ) ....... ) 

результат:

 Array ( [0] => Array ( [id] => 3 [title] => book [tval] => 10000,1700 ) [1] => Array ( [id] => 27 [title] => fruit [tval] => 3000 ) ....... ) 

пожалуйста помогите решить эту проблему, спасибо !!! Извините за плохой английский(

Это должно работать:

 $result = array(); foreach($array as $elem) { $key = $elem['id']; if (isset($result[$key])) { $result[$key]['tval'] .= ',' . $elem['tval']; } else { $result[$key] = $elem; } } 

Это в основном группирует элементы по id , конкатенируя tvals ( tvals их).

Просто немного создавая метод user576875:

 $a = array ( 0 => array ( 'id' => 3, 'title' => 'book', 'tval' => 10000 ), 1 => array ( 'id' => 3, 'title' => 'book', 'tval' => 1700 ), 3 => array ( 'id' => 27, 'bcalias' => 'fruit', 'tval' => 3000 ) ); $result = array(); foreach ($a as $elem) { $key = $elem['id']; if (isset($result[$key])) { $result[$key]['tval'] .= ',' . $elem['tval']; } else { $result[$key] = $elem; } } $result = array_merge($result); var_dump($result); 

дает результат:

 array 0 => array 'id' => int 3 'title' => string 'book' (length=4) 'tval' => string '10000,1700' (length=10) 1 => array 'id' => int 27 'bcalias' => string 'fruit' (length=5) 'tval' => int 3000 

Единственное реальное отличие – array_merge (), чтобы сбросить ключи