a) Always try and use PHP's internal routines to iterate through objects of various types (arrays in most examples below).
Instead of interpreting your code to loop through them, they use their own internal routines which are much faster.
(This is why foreach () will run faster than manual interation)
b) It is _always_ good practice to leave as many static resulting functions outside of loops, having operations that return the exact same piece of data every iteration of the loop is not pretty on resources.
c) I agree with PixEye's remarks on sizeof(). In PHP it is just an alias for the true function count(). It has other meanings logically in other languages rather than the number of elements in an object. This should be avoided as it may confuse developers transitioning to PHP from other languages.