与array_chunk分割阵列动态基于另一阵列
问题描述:
我试图以动态的方式来分割的阵列,如在功能array_chunk
而不是第二参数int $size
被允许添加的阵列等array different_sizes
与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);
答
即使这样做的目标是什么?你是说你想要创建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']]
是的,这就是我所说的话 – user3467855
嘿,你可以看看这里也。我在为多维数组拼命工作。 http://*.com/questions/40721138/split-multidimensional-array-with-array-chunk-based-on-another-array – user3467855