Wie man eine Anzahl Elemente in gleich große Stücke aufteilt

Neulich musste ich über eine große Anzahl Elemente iterieren, aber um einen Timeout zu vermeiden, konnte ich nur eine bestimmte Untermenge verarbeiten. Ich musste also die Elemente in gleich große Stücke und einen Rest aufteilen. Hier beschreibe ich eine einfache Methode, um die Größe der Stücke zu berechnen.

$totalNumber = 50321;
$chunkSize = 1023;

$remainder = $totalNumber % $chunkSize;
$chunks = ($totalNumber - $remainder) / $chunkSize;

Der Code gibt die folgenden Werte zurück:

$remainder ⇒ 194
$chunks ⇒ 49

Kontrolle: (49 · 1023) + 194 = 50321

Funktionsbeschreibung:
In Zeile 4 wird der Wert $totalNumber durch einen Modulo-Operator geteilt („%“ ist das PHP-Token für Modulo). Der Operator gibt es Rest einer Division zurück (194 in diesem Fall). Wenn man diesen Wert von $totalNumber subtrahiert, erhält man eine Vielfaches von $chunkSize.

Damit erhält man die gewünschte Anzahl notwendiger Iterationen und einen Rest.