2017-11-14 1 views
-1

Ich habe hier ein Array, das sich in nur einem Feld unterscheidet [4].array_merge in PHP auf einem einzelnen multidimensionalen Array

Irgendwie sagt meine Gehirne 'Array_merge', aber es gibt kein brauchbares Ergebnis für mich.

Können Sie bitte einen Blick darauf werfen?

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 
     ) 
) 

Unten ist, was ich denke, sollte die Ausgabe sein.

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

) 
+1

Also basierend auf Ihrem Gehirn denken, haben Sie versucht, 'array_merge()'? –

+1

Angenommen, das Feld [4] ist eine Zeichenfolge, warum verketten Sie sie nicht einfach? –

+0

Haben Sie einfach eine Schleife auf [4] und speichern Sie sie in String-Variable getrennt durch ',' –

Antwort

1

Wenn Sie wissen nur 4. Index geändert wird, können Sie einfach verketten sie

$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

Sie nicht Wert von Schlüssel fusionieren kann, weil es etwas sein könnte, haben Sie immer kann das Array rekursiv unter Verwendung der array_merge_recursive-Funktion zusammenführen.

$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); 
Verwandte Themen