2016-09-21 6 views
-1

配列のタイトルが同じ名前の場合は、値の連結で配列マージが必要です。私のアレイプリントは - >複数の配列をPHPでconcatを使ってマージする

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 
     ) 

) 

と私はタイトルが同じ連結1つの配列の配列値であり、他のアレイが削除された場合のように、この形式にしたいです。

that-よう

>

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

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

) 

あなたはどのようにそれは私を助けてください解決することがわかっている場合は

! おかげ

+2

、これを試してみてください。何か試しましたか?もしそうなら、それをあなたの質問に入れる必要があります。さもなければ、あなたが私たちにあなたのために仕事をさせようとしているように見えます。 –

+3

私たちはコードサービスではありません – Sammaye

答えて

1

はこれが行うことは難しいことではありません

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

ありがとうDave、 もし可能ならば、タイトルは動的ですか? 「Title3」や「title4」のような配列タイトルを追加するとします... – Afzal

+0

@Afzal:さらにタイトルがある場合は、foreifのelseif($ val ['title'] == "Title3")を使用してください – Dave

+0

@Afzal:私は私の答えを編集しました。 – Dave

関連する問題