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.
Schreibe einen Kommentar