ary1, ary2, ary3 とか書いてる時点で汎用性も糞もないわな。

$G = 3;
$N = 1000;
for ($i=1; $i<=$N; $i++) {
$groups[($i-1) % $G][] = $i;
}
print_r($groups);

PHPあんまり知らんから適当