Si bien es cierto que puedes usar tanto comillas dobles como simples en PHP sí que hay algunas diferencias significativas.
- Las comillas dobles permiten interpolación de variables en la propia cadena, lo que permite embeber el contenido de variables dentro de las cadenas con una sintaxis muy limpia.
$cadena = "Federico tiene {$years} años y ${days} días.";
Esa misma sentencia, si usas comillas simples la tendrías que expresar de una manera más compleja y menos legible:
$cadena = 'Federico tiene' . $years . ' años y ' . $days . ' días';
Quizás no parezca mucha diferencia, pero cuando se trata de cadenas que embeben varias variables, la cosa va adquiriendo importancia.
- Los caracteres de escape de las cadenas dobles en PHP son mucho más enriquecidos.
En una cadena con comillas dobles hay diferentes caracteres de escape, por ejemplo \n para un salto de línea o \t para un tabulador. Esto no está permitido en las cadenas de comillas simples, donde sólo se pueden colocar caracteres de escape para la comilla simple ' y para la propia barra invertida \. En las comillas simples los caracteres de escape, por ejemplo un salto de línea, se tienen que incorporar directamente, haciendo un salto en el propio literal de la cadena.
Buenas prácticas
Con respecto a lo que serían las buenas prácticas se recomienda usar cadenas simples, ya que este tipo de cadenas requieren menor cantidad de procesamiento por el motor de PHP, que no tiene que realizar interpolaciones y reconocer caracteres de escape.
Sin embargo, si lo que quieres es justamente beneficiarte del interpolado de variables, entonces lo adecuado es que uses las cadenas encerradas con comillas dobles, ya que la sintaxis que se consigue es más legible.