Strings
Nesta aula, você aprenderá sobre strings em PHP, incluindo as diferenças entre aspas simples e duplas, interpolação de variáveis, sintaxes Heredoc e Nowdoc, e as funções essenciais para manipulação de strings. Com exemplos práticos e exercícios, você dominará o trabalho com textos em PHP.
Strings são sequências de caracteres e um dos tipos de dados mais utilizados em PHP. Nesta aula, vamos explorar as principais formas de trabalhar com strings, desde a declaração até funções avançadas de manipulação. Compreender as nuances entre aspas simples e duplas, interpolação, Heredoc e Nowdoc é fundamental para escrever código PHP eficiente e legível.
Além disso, veremos funções built-in que facilitam a busca, substituição, formatação e validação de strings. Ao final, você será capaz de manipular textos com confiança em seus projetos.
Aspas simples vs duplas
Em PHP, strings podem ser delimitadas por aspas simples (') ou duplas ("). A principal diferença está no tratamento de variáveis e caracteres de escape. Com aspas simples, o PHP trata o texto literalmente, sem expandir variáveis ou interpretar sequências de escape especiais (exceto \' e \\). Já com aspas duplas, variáveis são interpoladas e sequências como \n (nova linha) e \t (tab) são processadas.
Exemplo de código:
<?php
$nome = "Maria";
echo 'Olá, $nome!\n'; // Imprime: Olá, $nome!\n
echo "Olá, $nome!\n"; // Imprime: Olá, Maria! (com quebra de linha)
?>Na prática, aspas simples são mais rápidas e seguras quando não há necessidade de interpolação. Use aspas duplas quando precisar incluir variáveis ou caracteres especiais.
Interpolação
Interpolação é o processo de substituir variáveis dentro de uma string delimitada por aspas duplas ou pelo operador Heredoc. O PHP reconhece variáveis simples ($var), arrays ($arr['chave']) e objetos ($obj->prop). Para evitar ambiguidades, use chaves: {$var} ou {$arr['chave']}.
Exemplo de código:
<?php
$preco = 29.90;
$produto = "camiseta";
echo "O preço da $produto é R\$ {$preco}."; // Imprime: O preço da camiseta é R$ 29.90.
?>Interpolação é útil para construir mensagens dinâmicas, mas tome cuidado com expressões complexas; prefira a concatenação com o operador ponto (.) para maior clareza.
Heredoc e Nowdoc
Heredoc e Nowdoc são sintaxes alternativas para strings multilinhas, mantendo a formatação. Heredoc (<< Exemplo de Heredoc: Exemplo de Nowdoc: Use Heredoc para gerar HTML ou SQL com variáveis, e Nowdoc para templates que não devem ser interpretados. O PHP oferece centenas de funções para strings. Aqui estão as mais comuns: Exemplo de código: Essas funções são fundamentais para validação, formatação e processamento de textos. Evite usar aspas duplas desnecessariamente; prefira aspas simples para literais. Use interpolação com moderação e sempre que possível utilize funções como Crie uma variável Use Converta a string "Olá Mundo" para minúsculas e depois para maiúsculas, exibindo os resultados. Use Crie uma string com Heredoc que contenha uma variável <?php
$nome = "João";
$texto = <<<FIM
Olá, $nome!
Esta é uma string multilinha.
FIM;
echo $texto;
?><?php
$texto = <<<'FIM'
Isso é literal: $nome não será expandido.
FIM;
echo $texto;
?>Funções essenciais de string
strlen() – retorna o comprimento da string.strpos() – encontra a posição da primeira ocorrência de uma substring.substr() – extrai parte da string.str_replace() – substitui ocorrências de uma substring.strtolower() / strtoupper() – converte para minúsculas/maiúsculas.trim() – remove espaços do início e fim.explode() / implode() – divide/une strings com delimitador.htmlspecialchars() – converte caracteres especiais HTML para entidades.<?php
$texto = " Olá, Mundo! ";
echo strlen($texto); // 15 (com espaços)
echo strpos($texto, "Mundo"); // 7
echo substr($texto, 2, 4); // "Olá"
echo str_replace("Mundo", "PHP", $texto); // " Olá, PHP! "
echo trim($texto); // "Olá, Mundo!"
?>Boas práticas
htmlspecialchars() para evitar XSS ao exibir dados do usuário. Para strings longas, considere Heredoc para legibilidade.Referências
Exercícios
$nome com seu nome e exiba uma saudação usando aspas duplas e interpolação.<?php
$nome = "João";
echo "Olá, $nome! Bem-vindo.";
?>strlen() e strpos() para verificar se a palavra "PHP" está presente na string "Aprendendo PHP agora" e exibir sua posição.<?php
$frase = "Aprendendo PHP agora";
if (strpos($frase, "PHP") !== false) {
echo "Encontrado na posição: " . strpos($frase, "PHP");
} else {
echo "Não encontrado";
}
?><?php
$texto = "Olá Mundo";
echo strtolower($texto); // olá mundo
echo "\n";
echo strtoupper($texto); // OLÁ MUNDO
?>explode() para dividir a string "maçã,banana,laranja" por vírgula e exiba o array resultante com print_r().<?php
$frutas = "maçã,banana,laranja";
$array = explode(",", $frutas);
print_r($array);
?>$cidade e exiba o resultado.<?php
$cidade = "São Paulo";
$mensagem = <<<FIM
Bem-vindo a $cidade!
Aqui você encontra cultura e lazer.
FIM;
echo $mensagem;
?>