Если вы не уверены, как долго различные числа окажутся (например, они определяются динамически, и нет никакого способа узнать, какими они будут до тех пор, до тех пор), вы можете использовать следующий код:
<?php
$numbers = array();
for ($i = 0; $i < 2000; $i++)
{
$numbers[] = $i;
}
array_walk($numbers, function(&$item, $key, $len) { $item = sprintf('%0'.$len.'d', $item); }, strlen(max($numbers)));
print_r($numbers);
?>