(imho) nothing wrong with declaring the same var locally of the global as long as you're aware of what you're doing and why.

As for the single $ that is just another example of why I personally dislike the usage by a few around here that use it with impunity. $x or $y or something is better for me. Daily coding should not be an exercise in Golfing at the risk of making the code difficult to read and / or maintain. It should be left for the game challenge only.