Qual é a diferença entre strings entre aspas simples e duplas no php?

Com aspas simples, não há expansão das variáveis ​​e não podemos usar a sequência de escape para caracteres especiais como (\ n, \ t, etc). Verifica:

eco 'oi \ n como vai você.' ;// Saída: oi \ n como você está$ var = 'Bob';echo '$ var';// Saída: $ var

No entanto, podemos escapar do sinal 'e / usando /'

eco 'Como vai?'// Saída: como está indo?

Com aspas duplas, as variáveis ​​podem ser expandidas e podemos usar a sequência de escape para caracteres especiais como \ n, \ r, \ t, etc.

eco "oi \ n como vai você.";// Saída: oi// como você está.$ var = 'Bob';eco "$ var";// Saída: Bob

Se você quiser saber sobre strings com muitos detalhes, sempre pode consultar a página de manual do php, que é um ótimo recurso.

Cordas - Manual
Strings PHP

pode ser especificado não apenas em

dois

maneiras, mas em

quatro

maneiras.

  1. As strings entre aspas simples exibirão as coisas quase completamente "como estão". Variáveis ​​e a maioria das seqüências de escape não serão interpretadas. A exceção é que, para exibir uma aspas simples e literal, você pode escapar com uma barra invertida \ 'e para exibir uma barra invertida, pode escapar com outra barra invertida \\ (portanto, sim, mesmo as seqüências de caracteres entre aspas simples são analisadas).
  2. As strings de aspas duplas exibirão uma série de caracteres de escape (incluindo algumas expressões regulares) e as variáveis ​​nas strings serão avaliadas. Um ponto importante aqui é que você pode usar chaves para isolar o nome da variável que deseja avaliar. Por exemplo, digamos que você tenha a variável $ type e o que fazer eco "Os $ types são" Isso procurará a variável $ types. Para contornar esse problema, use eco "The {$ type} s are" Você pode colocar a chave esquerda antes ou depois do cifrão. Dê uma olhada na análise de strings para ver como usar variáveis ​​de matriz e outras coisas.
  3. A sintaxe da cadeia Heredoc funciona como cadeias de caracteres duplas. Começa com <<<. Após esse operador, é fornecido um identificador e, em seguida, uma nova linha. A sequência em si segue e, em seguida, o mesmo identificador novamente para fechar a cotação. Você não precisa escapar de aspas nesta sintaxe.
  4. A sintaxe de string do Nowdoc (desde o PHP 5.3.0) funciona essencialmente como strings de aspas simples. A diferença é que nem mesmo aspas simples ou barras invertidas precisam ser escapadas. Um nowdoc é identificado com a mesma sequência <<< usada para heredocs, mas o identificador a seguir é colocado entre aspas simples, por exemplo, <<< 'EOT'. Nenhuma análise é feita no nowdoc.

Citações simples:

  1. A maneira mais simples de especificar uma string é colocá-la entre aspas simples. As aspas simples geralmente são mais rápidas e tudo o que é citado por dentro é tratado como uma sequência simples.
  2. Este método é usado quando queremos que a string seja escrita exatamente como está.
  3. Quando string é especificada entre aspas simples, o PHP não a avaliará nem interpretará caracteres de escape, exceto aspas simples com barra invertida (') e barra invertida (\) que precisam ser escapadas.
echo 'This is \' test \ 'string';// Saída: esta é a string 'test'

Citação dupla:

  1. Ele exibirá uma série de caracteres de escape (incluindo algumas expressões regulares) e as variáveis ​​nas strings serão avaliadas.
  2. Um ponto importante aqui é que você pode usar chaves para isolar o nome da variável que deseja avaliar.
  3. Por exemplo, digamos que você tenha a variável $ type e o que fazer eco "Os $ types são" Isso procurará a variável $ types. Para contornar esse problema, use eco "The {$ type} s are" Você pode colocar a chave esquerda antes ou depois do cifrão. Dê uma olhada na análise de strings para ver como usar variáveis ​​de matriz e outras coisas.
  4. Use aspas duplas no PHP para evitar ter que usar o período para separar o código na string.
$ contagem = 1;eco "A contagem é $ count";// Saída: a contagem é 1

Atuação:

  1. É um pouco mais rápido usar aspas simples. O PHP não usará processamento adicional para interpretar o que está dentro da aspas simples.
  2. Quando você usa aspas duplas, o PHP precisa analisar para verificar se há alguma variável lá.
  3. Consulte os sites abaixo para uma melhor comparação.
  • O benchmark PHP.
  • Uma resposta a "Micro-otimizações em PHP"
  • PHP Myth Busters: Usar aspas simples na string é mais rápido que aspas duplas

As cadeias de citação simples são processadas muito mais rapidamente no PHP do que as de citação dupla. Deixe-me dizer por que

$ name = "Nome: ABC";eco "Meu nome é $ name ";echo 'Meu nome é $ name';

A saída será a seguinte

Meu nome é Nome: ABCMeu nome é $ name

Explica tudo. Quando entre aspas duplas, o PHP tende a processar a string também para variáveis. No caso de aspas simples, você precisa anexar as variáveis ​​da seguinte maneira

echo 'My name is'. $ name;

Portanto, aspas simples funcionam mais rapidamente

É uma pergunta muito simples. Mas valoriza muito.

As strings entre aspas simples exibirão as coisas quase completamente "como estão". Variáveis ​​e a maioria das seqüências de escape não serão interpretadas. A exceção é que, para exibir uma aspas simples e literal, você pode escapar com uma barra invertida \ 'e para exibir uma barra invertida, pode escapar com outra barra invertida \\ (portanto, sim, mesmo as seqüências de caracteres entre aspas simples são analisadas).

As strings de aspas duplas exibirão uma série de caracteres de escape (incluindo algumas regexes) e as variáveis ​​nas strings serão avaliadas. Um ponto importante aqui é que você pode usar chaves para isolar o nome da variável que deseja avaliar. Por exemplo, digamos que você tenha a variável $ type e o que fazer eco "Os $ types são" Isso procurará a variável $ types. Para contornar esse problema, use eco "The {$ type} s are" Você pode colocar a chave esquerda antes ou depois do cifrão.

Exemplos:

aspas simples VS aspas simples

$ name = "Ashis";

eco "Eu sou $ name";

// Saída: eu sou Ashis

eco "Eu sou {$ name}";

// Saída: eu sou Ashis

echo 'I'm $ name';

// Saída: sou $ name

?>

Como muitos outros dirão, aspas simples apenas produzem o texto sem fazer nada de especial.

No entanto, aspas duplas permitem que você use \ n, \ re \ \ e também variáveis. Por exemplo, você pode dizer:

$ name = 'Parham'; echo "Meu nome é $ name."; Eu recomendaria o uso de aspas simples em todos os lugares, a menos que você explicitamente precise gerar uma variável no meio de um pedaço de texto. Alguns vão até a concatinação, assim:

eco 'Meu nome é'. $ name. '.';

A diferença entre usar aspas simples e aspas duplas no php é que, se usarmos aspas simples na instrução echo, ela será tratada como uma string. Se usarmos variáveis ​​dentro de aspas simples, ele será exibido como nome da variável. mas se inserirmos o nome da variável entre aspas duplas, ele produzirá o valor dessa variável junto com a string.

Exemplo: