Pad number with zeros to nearest 3rd digit?

I’m looking to take a number, and pad it with 0s so the length % 3 = 0

This is how I am currently doing it:

$id = 28321;
$len = strlen($id);
$mod = ($len % 3);
$padding = ($mod) ? 3 - $mod : 0;
$id = str_pad($id, $len + $padding, '0', STR_PAD_LEFT);
$id = str_split($id, 3);

So the following would happen (spaced just for readability)
so:
28 321 => 028 321
123 549 => 123 549
99 002 245 => 099 002 245

Is there a better way to do it than what I provided…?