まず、00-99までは、for文を入れ子にして繰り返す。
for($i=0; $i<10; $i++){
for($j=0; $j<10; $j++){
echo $i.$j."<br>";
}
}

000~999 入れ子を増やす
$time_start = microtime(true);
for($i=0; $i<10; $i++){
for($j=0; $j<10; $j++){
for($k=0; $k<10; $k++){
echo $i.$j.$k."<br>";
}
}
}
$time = microtime(true) - $time_start;
echo "{$time} 秒";
0.0011639595031738 秒
0~9999 4重にする
$time_start = microtime(true);
for($i=0; $i<10; $i++){
for($j=0; $j<10; $j++){
for($k=0; $k<10; $k++){
for($l=0; $l<10; $l++){
echo $i.$j.$k.$l."<br>";
}
}
}
}
$time = microtime(true) - $time_start;
echo "{$time} 秒";
0.017668008804321 秒
なるほど