2016-04-19 2 views
-1

ich an einem Projekt arbeite, und ich bin auf dieser meiner Frage stecken, das ich ein Array, das wieKombinieren Sie Arrays mit einem gemeinsamen Wert in ein neues Array

unten ist
$arr1 = array(
     array 
     (
      'id' => '1', 
      'city' => 'A.bad', 
     ), 
     array 
     (
      'id' => '2', 
      'city' => 'Pune', 
     ), 
     array 
     (
      'id' => '1', 
      'city' => 'Mumbai', 
     ) 
     ); 

und ich habe das dies vergleichen durch ID und ich möchte die Ausgabe wie folgt.

$result = array(
     array(
      'id'='1', 
      'city'='A.bad','Mumbai' 
    ), 
     array(
      'id'='2', 
      'city'='Pune' 
    ) 
); 

wenn wir gleiche ID haben, wie in der erste ist A.bad so wird es sie nehmen und in die dritte hat es id 1 und Stadt als mumbai so wird es als id 1 und Stadt als a.bad, kombinieren mumbai und andere Aufzeichnungen werden auf die gleiche Weise gefiltert.

+0

was ist die Frage? Dies ist nur ein Array, das Sie haben – Ghost

+0

Ihre Frage ausarbeiten, genauer: Was ist die erwartete Ausgabe? – RomanPerekhrest

Antwort

5

Schleife durch das Array und erzeugen einen neuen array auf dem id je .Sie diese versuchen kann -

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

Fiddle

Wenn Sie diese Daten aus der Datenbank die bekommen können Sie gruppieren sie in der Frage auch ab.

Verwandte Themen