Lo que sucede en el último caso es lo siguiente:
Según el manual, (en la página sobre
operadores) el punto tiene la misma precedencia que el operador de resta -.
Entonces, PHP convierte
"Hagamos una resta: " . 10
a
"Hagamos una resta: 10"
y luego hace la resta. Las reglas de
manipulación de tipos indican que la cadena "Hagamos una resta: 10" será convertida a entero, con el valor 0.
En este paso, la línea de "echo" será equivalente a
echo 0 - 7;
cuyo resultado es claramente -7.
Interesante
Saludos