2012-06-24 3 views
0

Привет нужна помощь в array_merge и array_splice , например, если массив содержит 10 элементов необходимо соединить первые 6 после применения логики объединить массивыиспользованием array_splice/array_merge

$input = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); 
$array1 = array_splice($input ,0, 6); // $input is now $array1 = array(1, 2, 3, 4, 5) 
// $array = unset($array1[4]); example for logic 
    // how to merge $array1 to remaining array value which was spliced 
O/P: array(1, 2, 3, 5, 6, 7, 8, 9, 10); 
+0

Используйте что-то вроде 'array_merge (array_map (array_splice ($ input, 0,6), 'logicFunction'), array_splice ($ input, 6,25));' –

+3

В чем вопрос? – xdazz

+0

Вы хотите «разбить» массив и слить его обратно после выполнения чего-то с частями? – SuperSaiyan

ответ

0

Используйте array_merge($arr1, $arr2, ...), чтобы объединить массивы.

$array1 = array_splice($input ,0, 6); 
$array2 = $input 

//do whatever you want with sub-array, and to merge them back, use: 
$finalArr = array_merge($array1, $array2); 

где $ array1 и $ array2 получаются из array_splice(..)

1

Использование array_splice будет разделить ваш массив на две части. Ваш входной массив будет изменен, то вы получили значения «не сращены» в

Вы можете эту специфику, чтобы объединить его после того, как:.

$input = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); 
$array1 = array_splice($input ,0, 6); 
$array2 = array_merge($array1, $input); 

var_dump($array2); 

Смотрите первый взнос пользователя на array_splice документ: http://www.php.net/manual/en/function.array-splice.php#106244

+0

Вы имеете в виду http://www.php.net/manual/en/function.array-splice.php#106244? – Herbert

+0

Спасибо @Herbert Я искал якорь;) – zessx