3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = array( array('f1', 'f2', 'f3'), array('s1', 's2', 's3', 's4', 's5'), array('t1', 't2', 't3', 't4', 't5', 't6', 't7', 't8', 't9', 't10', 't11', 't12') ); $max = 12; $each = $max / count($data); $result = array(); foreach ($data as $set) { $start = count($result); while (count($set) > 0 && (count($result)-$start) <= $each) { $result[] = array_shift($set); } } print_r($result);

preferences:
39.75 ms | 402 KiB | 5 Q