Qual a diferença entre strings com aspas simples e duplas em PHP?
Olá a todos! Comecei a estudar PHP e me deparei com algo que não entendo. Vejo que strings podem ser declaradas tanto com aspas simples ('exemplo') quanto com aspas duplas ("exemplo"). Parece que o resultado é o mesmo — em ambos os casos é uma string. Mas notei um comportamento estranho.
Aqui está um exemplo de código:
```php
$name = "Ivan";
echo 'Olá, $name!'; // Exibe: Olá, $name!
echo "Olá, $name!"; // Exibe: Olá, Ivan!
```
Por que no primeiro caso é exibido literalmente $name, e no segundo o valor da variável? Isso tem a ver com escaping? Tentei escrever echo 'Olá, \n'; — exibiu apenas \n, e não uma quebra de linha. Com aspas duplas, \n funciona como quebra de linha.
Expliquem, por favor, qual é a diferença fundamental entre esses dois tipos de strings? Quando usar cada um? Há diferença de performance? E quanto a heredoc e nowdoc — também é sobre isso?
Desde já agradeço pela ajuda!
<<>>