{
  "path": "/2014/09/09/php-interpolacao-concatenacao/",
  "site": "at://did:plc:xsx3bphrwkgeo3qnfjhzmdra/site.standard.publication/3me7k4wsueo2b",
  "tags": [
    "php",
    "portugues"
  ],
  "$type": "site.standard.document",
  "title": "Interpolação e Concatenação de Strings em PHP",
  "description": "Já pensou em qual a melhor forma para inserir variáveis dentro de strings? A interpolação ou a concatenação. Venha ver.",
  "publishedAt": "2014-09-09T15:19:43Z",
  "textContent": "Hoje vamos falar um pouco sobre PHP, mais precisamente no campo das strings, variáveis e concatenações. Como sabem, existem várias formas de inserir o valor de variáveis dentro de strings, mas qual será a \"melhor\" e mais rápida? Em primeiro lugar, vamos rever as formas de inserir variáveis dentro de strings atualmente já existentes: 1 $bar = 'Eu sou ' . $foo . '!'; // => 2 $bar = \"Eu sou $foo!\"; // => 3 $bar = \"Eu sou {$foo}!\"; // => 4 Vamos analisar os quatro exemplos acima sendo que os primeiros dois é utilizada concatenação e nos últimos dois interpolação. Métodos 1 e 2 Vamos começar por analisar o primeiro. Neste caso, o segundo método devia ser utilizado ao invés do primeiro. Porquê? As aspas duplas dizem ao PHP para iniciar a interpolação gastando mais recursos e podendo demorar mais tempo. Devemos utilizar a aspa única quando não utilizamos nenhum benefício da interpolação como n, por exemplo. Métodos 3 e 4 Em relação ao terceiro e quarto, é indiferente porém o uso de chavetas é extremamente recomendado quando se inserem variáveis mais complexas como arrays. Caso sejam variáveis simples, o uso de chavetas é desnecessário não trazendo benefícios nem malefícios. Qual devo usar? Depende! Geralmente, a interpolação é mais lenta porém, a concatenação pode tornar-se mais lenta caso sejam utilizadas muitas variáveis. Executei seguinte teste para confirmar as velocidades que cada um demora a correr (função timeFunc obtida aqui): 0.0020885 echo timeFunc('Method2', 10) . \"n\"; // => 0.0021168 echo timeFunc('Method3', 10) . \"n\"; // => 0.0021132 echo timeFunc('Method4', 10) . \"n\"; // => 0.0023884 Recebi os valores mencionados nos comentários. Como podem ver, não existem grandes diferenças no tempo de execução destes pequenos exemplos. Espero que o post tenha sido útil."
}