2016-09-21 4 views
-1

Ich brauche Array zusammenführen mit Wert concat, wenn Array-Titel ist der gleiche Name. Druck mein Array selber gibt>Mehrere Array zusammenführen mit concat in PHP

Array 
(
    [0] => Array 
     (
      [id] => 7867867 
      [title] => Title1 
     ) 

    [1] => Array 
     (
      [id] => 3452342 
      [title] => Title2 
     ) 

    [2] => Array 
     (
      [id] => 1231233 
      [title] => Title2 
     ) 

    [3] => Array 
     (
      [id] => 5867867 
      [title] => Title1 
     ) 

    [4] => Array 
     (
      [id] => 7867777 
      [title] => Title1 
     ) 

) 

und ich möchte dieses Format wie wenn Titel gleiche concat der Array-Wert in einem Array und anderen Array ist zu entfernen.

wie dass->

Array 
(
    [0] => Array 
     (
      [id] => 7867867,5867867,7867777 
      [title] => Title1,Title1,Title1 
     ) 

    [1] => Array 
     (
      [id] => 3452342,1231233 
      [title] => Title2,Title2 
     ) 

) 

Wenn Sie wissen, dass, wie es mir bitte helfen zu lösen! Dank

+2

Das ist nicht schwer zu tun. Hast du irgendwas probiert? Wenn ja, müssen Sie es in Ihre Frage einfügen. Ansonsten sieht es so aus, als ob du nur versuchst, uns dazu zu bringen, deine Arbeit für dich zu tun. –

+3

Wir sind kein Code-Service – Sammaye

Antwort

1

Try this,

foreach($array as $val) 
{  
    $titlearray[] = $val['title']; 
} 
$titlearray = (array_unique($titlearray)); 

//print_r($titlearray); 

foreach($array as $val) 
{ 
    $key = array_search($val['title'], $titlearray); 
    $newarray[$key]['id'][] = $val['id']; 
    $newarray[$key]['title'][] = $val['title']; 
} 

DEMO

+0

Danke Dave, Wenn möglich Titel ist dynamisch? Angenommen, ich füge mehr Array-Titel wie 'Title3' oder 'title4' ... – Afzal

+0

@Afzal: wenn mehr Titel dann verwenden Sie elseif ($ val ['title'] == "Title3") in Seite foreach – Dave

+0

@Afzal: Ich habe meine Antwort bearbeitet. – Dave