The other day I had to iterate over a large number of items but to avoid a timeout I could only compute a certain amount at a time. So I had to split the number into equal chunks and a remainder. Here’s an easy way to determine the chunk size:
$totalNumber = 50321; $chunkSize = 1023; $remainder = $totalNumber % $chunkSize; $chunks = ($totalNumber - $remainder) / $chunkSize;
The code return the following values:
$remainder => 194
$chunks => 49
Verification: (49 * 1023) + 194 = 50321
How does it work?
In line 4
$totalNumber is divided by a modulo operator (“%” is the PHP token for modulo). The operator returns the remainder of the division (194 in this case). By subtracting this value from
$totalNumber it becomes a whole number multiple of $chunks and the division with
$chunkSize equals the desired number of
$chunks (line 6).
Now you have the number of necessary iterations and the remaining part.