You should not use $a as your index variable, or really ever as a generic variable. $a and $b have special meaning for sort.
I'm unclear on how your strategy splits the array into chunks of 100 records. There are certainly a myriad of ways to get this done, but it's not obvious to me how this is one of them.
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.