php - Combine arrays with a common value into a new array -


i working on project , stuck on question have 1 array below

$arr1  =   array(         array         (             'id' => '1',             'city' => 'a.bad',         ),         array         (             'id' => '2',             'city' => 'pune',         ),         array         (             'id' => '1',             'city' => 'mumbai',         )         ); 

and have compare id , want output below.

$result = array(        array(           'id'='1',           'city'='a.bad','mumbai'       ),       array(           'id'='2',           'city'='pune'       ) ); 

if have same id in first 1 a.bad take , in third 1 has id 1 , city mumbai combine id 1 , city a.bad,mumbai , other records filtered in same manner.

loop through array , generate new array depending on id.you can try -

$new = array(); foreach($arr1 $array) {     $new[$array['id']]['id']= $array['id'];     // check if city value set id     // if set concatenate else set city name      $new[$array['id']]['city']= (isset( $new[$array['id']]['city'])) ?  ($new[$array['id']]['city'] . ',' . $array['city']) : $array['city']; } 

fiddle

if getting data database can group them in query also.


Comments

Popular posts from this blog

Ansible - ERROR! the field 'hosts' is required but was not set -

customize file_field button ruby on rails -

SoapUI on windows 10 - high DPI/4K scaling issue -