Anonim

Aspas simples e duplas são tratadas um pouco diferente no PHP. Continue lendo para ver as diferenças em como elas são avaliadas.

Citações simples

Aspas simples tendem a analisar as coisas em um sentido muito mais literal. Por exemplo, tome o seguinte:

$ test = "BOOOM"; eco '$ test'

O nome da variável, quando colocado entre aspas simples, não é analisado em seu valor real. Aqui está o que é realmente impresso ao executar isso como um simples programa php:

$ test

Existem apenas dois cenários em que posso pensar onde as informações são realmente analisadas em uma única cadeia de caracteres citada. Primeiro, para exibir um caractere entre aspas, ele deve ser precedido por uma barra invertida. Caso contrário, será interpretado como o fim da sua string. Segundo, para exibir uma barra invertida, ela deve ser precedida por outra barra invertida. Exemplo:

echo 'aspas simples: \' '; eco 'barra invertida: \\';

Aspas duplas

As aspas duplas tendem a analisar as coisas para você. Quando executado entre aspas duplas:

$ test = "BOOOM"; eco "$ test"

Emite o valor real da variável:

BOOOM

Agora, ocasionalmente, você encontrará um cenário em que o nome da variável que você está tentando gerar não seja analisado corretamente devido a alguns caracteres ao redor.

$ test = "BOOOM"; eco "$ testado";

O que você acha que obtém saída aqui? A resposta não é nada. O PHP procura por uma variável chamada $ testing e, como ela não existe, nada é produzido. A maneira correta de gerar o valor seguido por 'ed' seria:

$ test = "BOOOM"; eco "{$ test} ed";

Ao colocá-lo entre colchetes, ele permite que o PHP saiba onde a variável é iniciada e interrompida, permitindo avaliar adequadamente a variável.

Diferença de velocidade

Fiz alguns testes simples de benchmarking para avaliar alguns cenários de diferença, a diferença de velocidade entre os 2 é insignificante. As aspas simples eram um pouco mais rápidas devido ao fato de não precisar procurar uma variável e depois analisar o valor, mas nunca encontrei um cenário em que isso fizesse diferença suficiente o suficiente. Use o que for mais adequado às suas necessidades atuais.

Diferença entre aspas simples e aspas duplas em php