Arranque dividido com array_chunk dinamicamente com base em outra matriz

Estou tentando dividir uma matriz de forma dinâmica, como na function array_chunk vez do segundo parâmetro int $size para permitir adicionar uma matriz como array different_sizes

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

Qual seria o objective de mesmo fazer isso? Você está dizendo que deseja criar 3 arrays, um com 5 itens, seguido de um com 6, seguido de um com 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']]