簡體   English   中英

根據另一個數組動態地使用array_chunk拆分數組

[英]Split array with array_chunk dynamically based on another array

我正在嘗試以動態方式拆分數組,例如在函數array_chunk而不是第二個參數int $size ,以允許添加數組,例如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);

這樣做的目標是什么? 您是說要創建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']]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM