2017-11-14 10 views
-1

ここでは1つのフィールドで異なる配列を取得しました[4]。PHPのarray_mergeを単一の多次元配列

どういうわけか私の頭脳は 'array_merge'を使っていると言っていますが、私には利用可能な結果はありません。

どうぞご覧ください。

Array 
(
    [0] => Array 
     (
      [0] => 12 
      [1] => someCssClass 
      [2] => AnyText 
      [3] => 1,2,3,4,5,6,7 
      [4] => 4,5 
     ) 

    [1] => Array 
     (
      [0] => 12 
      [1] => someCssClass 
      [2] => AnyText 
      [3] => 1,2,3,4,5,6,7 
      [4] => 6,7 
     ) 
) 

以下は、出力する必要があります。

Array 
(
    [0] => Array 
     (
      [0] => 12 
      [1] => someCssClass 
      [2] => AnyText 
      [3] => 1,2,3,4,5,6,7 
      [4] => 4,5,6,7 
      ) 

) 
+1

あなたの頭脳に基づいて、あなたは 'array_merge()'を試みましたか? –

+1

フィールド[4]が文字列であると仮定すると、それらを連結するだけではどうですか? –

+0

[4]にループを作成して、それを '、'によって区切られた文字列変数に格納してください –

答えて

1

あなたはインデックスが変更されただけ4番目のを知っている場合、あなたは単にあなたはまだ、それは何でもかまいませんので、あなたがキーによって値をマージすることはできませんそれらを

$arr = Array 
(
    0 => Array 
     (
      0 => 12, 
      1 => "someCssClass", 
      2 => "AnyText", 
      3 => "1,2,3,4,5,6,7", 
      4 => "4,5" 
     ), 

    1 => Array 
     (
      0=> 12, 
      1 => "someCssClass", 
      2 => "AnyText", 
      3 => "1,2,3,4,5,6,7", 
      4 => "6,7" 
     ) 
); 
$new_array[] = $arr[0]; 
$new_array[0][4]=$arr[0][4].",".$arr[1][4]; 
print_r($new_array); 

DEMO

0

を連結することができますarray_merge_recursive関数を使用して配列を再帰的にマージできます。

$ar1 = array(12, 'someclass','1,2,3,4,5,6,7','4,5'); 
$ar2 = array(12, 'someclass','1,2,3,4,5,6,7','6,7'); 
$result = array_unique(array_merge_recursive($ar1, $ar2)); 
print_r($result);