2016-10-21 2 views
-1

내가 필요array_merge_recursive

<?php 
array:4 [▼ 
    0 => array:1 [▼ 
       1 => "1_1"  
    ] 
    1 => array:1 [▼ 
       1 => "1_2" 
    ] 
    2 => array:1 [▼ 
       2 => "2_1" 
    ] 
3 => array:1 [▼ 
       2 => "2_2" 
    ] 
] 
?> 

아래의 코드에 array_merge_recursive 적용 어떻게 출력은

<?php 
array:2 [▼ 
0 => array:2 [▼ 
    0 => "1_1", 
    1 => "1_2" 
] 
1 => array:2 [▼ 
    0 => "2_1", 
    1 => "2_2" 
] 
] 
?> 

참고가 될 사항 : 내부 배열 1000 4에서 증가 할 수 있습니다

감사합니다.

답변

1

짧고 요점.

$array = [ 
    0 => [ 
    0 => '1_1', 
    ], 
    1=> [ 
    0 => '1_2', 
    ], 
    2 => [ 
    0 => '2_1', 
    ], 
    3 => [ 
    0 => '2_2', 
    ], 
]; 

foreach(array_chunk($array, 2) as $value){ 
    print_r(array_merge(array_shift($value), array_pop($value))); 
} 

큰 배열에서 2 덩어리를 가져옵니다. 덩어리를 반복하고 배열의 첫 번째 요소와 마지막 요소를 가져 와서 병합합니다.


결과 :


Array 
(
    [0] => 1_1 
    [1] => 1_2 
) 
Array 
(
    [0] => 2_1 
    [1] => 2_2 
) 
print_r를 제거하고 자신의 필요에 적응.

array_merge_recursivearray_merge 대신 사용할 수 있지만이 경우 정확히 똑같습니다. 당신은 여전히 ​​어떻게 든 청크를 얻을 필요가 있습니다.

+0

작동하지 않았습니다. 이것은 출력 배열입니다 : 2 [▼ 0 => "2_1" 1 => "2_2" – Odin

+0

내가 말했듯이, 당신 자신의 필요에 적응하십시오. 코드는 제대로 작동하지만 올바른 컨텍스트에서 사용하지 마십시오. 그것이하는 일을 이해하기 위해 약간의 시간을 가져라. – Andrew

+0

그래, 고마워.하지만 2의 덩어리가 문제 야. 어떤 것들은 2이고 어떤 것들은 6입니다. 그것은 정적 옵션들이 아닙니다. 그들은 선택된 옵션들입니다. – Odin

관련 문제