PHP para Iniciantes: Operador de concatenação

Eu acho divertido encontrar artigos como esse, porque geralmente não tem muito o que falar e acaba ficando curtíssimo. Mas, ao invés de apenas passar informações sobre o operador de hoje, eu também irei mostrar uma forma alternativa de fazer a mesma coisa. Tudo depende de como está seu código, se está com variáveis ou constantes... Tá interessado(a)? Ok, vamos começar.

Operador .

Sim, exatamente, um ponto. Esse ponto serve para concatenar dois textos (leia-se string). Da mesma forma que os operadores lógicos, se você inserir outro tipo de dado que não seja uma string, o interpretador irá converter pra você.

Então é bem simples:

<?php

$nome = 'Kaique';
$sobrenome = 'Garcia';

$nomeCompleto = $nome . ' ' . $sobrenome;
var_dump($nomeCompleto); // string(Kaique Garcia)

Primeiramente, eu consegui juntar o texto 'Kaique' com o texto de espaço em branco ' '. Depois, juntei o resultado com 'Garcia', o que resulta em 'Kaique Garcia'.

Então o significado de concatenar é juntar, Kiko?

Bom, se você der uma espiada no dicionário, temos:

concatenar (verbo)

  1. transitivo direto, transitivo indireto e bitransitivo e pronominal ligar(-se), juntar(-se) numa cadeia ou sequência lógica ou orgânica. "c. ideias (com a ação)"

  2. transitivo direto, transitivo indireto e bitransitivo e pronominal concertar(-se), harmonizar(-se), condizer. "c. interesses (com o prazer)"

Então sim, você pode traduzir concatenação como união e concatenar como juntar. Enfim... Além dessa escrita do operador isolado, nós também podemos usar a sintaxe do operador com atribuição:

<?php

$nome = 'Kaique';
$sobrenome = 'Garcia';

$nomeCompleto = $nome; // ok, primeiro nome somente
$nomeCompleto .= ' '; // adicionamos um espaço em branco no final
$nomeCompleto .= $sobrenome; // adicionamos o $sobrenome no final

var_dump($nomeCompleto); // string(Kaique Garcia)

Assim fica mais legível, concorda? Ao menos pra quem nunca viu esse operador, dá pra ter uma ideia do que está acontecendo em cada sequência. De todo modo, concatenar não é a única forma de unir dois textos.

Parsing de string

Esse é um assunto que eu já falei no artigo Tipo de Dados Primitivos - Textos. Resumidamente, você pode injetar variáveis em textos usando sintaxes onde sabemos que o interpretador aceita as injeções. São elas:

  • aspas duplas: "";
  • heredoc:
    <?php
    echo <<<EOT
    Isso realmente é um texto em PHP.
    EOT;
    

Com essas duas formas de escrever um texto, você pode inserir, dinamicamente, valores de variáveis. Lembra do meu exemplo anterior?

<?php
$nome = 'Kaique';
$sobrenome = 'Garcia';

$nomeCompleto = "$nome $sobrenome";
var_dump($nomeCompleto); // string(Kaique Garcia)

Bem mais legível, não? Então pense bem antes de sair escrevendo uma série de concatenações. No artigo anterior, eu concatenei vários textos com a constante pré-definida PHP_EOL, mas só fiz isso porque não dá pra injetar constantes. Se você reparou bem, tem passagens que eu injetei sim variáveis em textos (pesquise por Operador $operacao lá).

Legal né? Enfim, por hoje é só! Um artigo bem curtinho pra ler naquela pausa para respirar, hehe. No próximo, vamos falar sobre Operadores de Array. Não perca, hein?

Inté!