2017-11-14 2 views
-1

나는 하나의 필드 [4]에서 다른 배열을 가지고 있습니다.하나의 mutlidimensional 배열에 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); 
관련 문제