es simple, y no tiene que ver con php, sino el estándar HTTP y algo de HTML...
 
según la especificación de HTML, el simbolo & no puede aparecer así en el documento, osea que al escribir los enlaces debes usar & que sería su entidad equivalente... y esto solo aplica a los enlaces de hipertexto: 
 Código HTML:
 <a href="?foo&candy=bar">link</a> 
 ahora, cuando lo usas para URLs internas, como por ejemplo una redirección entonces si debes usar & porque una cosa es que funcione en hipertexto como entidad, y otra muy distinta a nivel código: 
 Cita:  document.location.href = '?foo&candy=bar';
    PDTA: un poco de investigación y estudio no te hace daño... 
