2016-11-21 2 views
0

Я пытаюсь разделить массив динамическим способом, как на функцию array_chunk вместо второго параметра int $size, чтобы иметь возможность добавить массив как array different_sizesSplit массив array_chunk динамически на основе другого массива

$input_sub_arr = range('01', '15'); 
    $input_sub_array = array(); 
    foreach ($input_sub_arr as $answer) { 
     $input_sub_array[] = 'answer-'.$answer; 
    } 
    var_Dump($input_sub_array); 

$new_answer = array_chunk($input_sub_array, array(5, 6 , 2)); 
var_dump($new_answer); 

ответ

1

Какова была бы цель сделать это? Вы говорите, что хотите создать 3 массива, один с 5 предметами, за которым следует один с 6, затем один с 2?

function partition(array $values, array $sizes) 
{ 
    $results = []; 
    foreach ($sizes as $size) { 
     $current = []; 
     while (count($values) > 0 && count($current) < $size) { 
      $current[] = array_unshift($values); 
     } 
     $results[] = $current; 
    } 
    return $results; 
} 

$result = partition($input_sub_arr, [5, 6, 2]); 
// [['answer-01', 'answer-02', 'answer-03', 'answer-04', 'answer-05'], ['answer-06', 'answer-07', 'answer-08', 'answer-09', 'answer-10', 'answer-11'], ['answer-12', 'answer-13']] 
+0

Да, это то, что я говорю – user3467855

+0

Эй могли бы вы взглянуть здесь также. Я борюсь за многомерный массив. http://stackoverflow.com/questions/40721138/split-multidimensional-array-with-array-chunk-based-on-another-array – user3467855

Смежные вопросы