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.

Leave a Reply

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)