<?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) <= $max) {
$result[] = array_shift($set);
}
}
print_r($result);
preferences:
35 ms | 402 KiB | 5 Q