lo que sucede es que estas haciendo asignaciones en tu string, de modo que las demás veces que usas la misma variable esta ya ha cambiado...
debes aprender que no puedes asignar dentro de una concatenación de strings...
Código PHP:
// MAL
$foo = "candy BAR" . $else = does(nothing($else)) . " yeah!!!";
// BIEN
$foo = "candy BAR" . does(nothing($else)) . " yeah!!!";
reflexiona bien lo que haces... (: