check your php.ini, it does actually set the sign used as separator in query strings:
; The separator used in PHP generated URLs to separate arguments.
; Default is "&".
;arg_separator.output = "&"
grammar/syntax: well, I'm not sure, but beginners' tutorials or books should explain everything fairly detailed, I think. Maybe there's someone else to recommend a special one.