Sejam muito bem-vindos(as) à Alura. Eu sou o Vinicius Dias e guiarei vocês neste treinamento sobre PHP e strings, em que vamos nos aprofundar no conhecimento de strings utilizando várias funções do PHP.
Esse treinamento precisa que você conheça as sintaxes do PHP, que tenha feito os cursos básicos de PHP, mas eu quero te lembrar que esse é um treinamento básico, é um treinamento ainda iniciante. Se você já domina o PHP, trabalha com PHP a bastante tempo, não espere um conteúdo absurdamente avançado, mas com certeza você vai conseguir também se beneficiar deste conteúdo.
Como é um conteúdo para iniciantes, vamos começar revisando o ambiente necessário e já te adianto, a única coisa que você precisa é do PHP instalado na sua máquina. Depois vamos começar a falar sobre algumas novidades das versões mais recentes, pelo menos no momento dessa gravação, que o PHP trouxe em relação a strings, funções novas, mudanças de comportamento, etc.
Depois vamos começar a entender como pegar pedaços de um texto. Se eu tenho uma string maior como que eu pego somente um pedaço do início dela, por exemplo, ou um pedaço só do final. E a partir disso vamos descobrir como buscar a posição de uma string dentro de outra ou a posição de caractere dentro dessa string.
Vamos ver como colocar strings em letra maiúscula, em letra minúscula, etc. Depois vamos ver como separar uma string em array e como juntar um array em uma string. São manipulações muito comuns de fazermos no dia a dia, como aparar as bordas da nossa string removendo espaços ou algum caractere que quisermos. Depois entramos em alguns detalhes de sintaxe, strings numéricas e como o PHP trabalha com isso, aquelas famigeradas, sintaxes de heredoc, nowdoc.
Vamos ver o que são essas sintaxes e quando utilizar e no final, após ter feito algumas substituições em strings, mudar um caractere para outro, mudar uma palavra para outra, vamos entrar no assunto de expressões regulares.
Esse não é um treinamento de expressões regulares, mas você não precisa saber sobre expressões regulares para fazê-lo. Lá no final eu vou falar um pouco sobre o que é esse assunto. Mas recomendo que conforme você vai evoluindo no seu conhecimento de PHP, faça uma pausa e realize o treinamento da plataforma Alura de expressões regulares.
Existe um curso específico para isso e todo conhecimento ensinado lá pode ser utilizado no PHP. Enfim, temos muita coisa para aprender nesse treinamento. Vamos aprender muito sobre strings, funções, sintaxes, etc. Se em qualquer momento você ficar com alguma dúvida não hesite, abra um tópico no fórum, eu tento responder pessoalmente sempre que possível, mas quando eu não consigo temos grande comunidade de alunos(as), moderadores(as) e instrutores(as). Com certeza alguém vai conseguir te ajudar.
Mais uma vez, sejam muito bem-vindos(as) ao treinamento, espero que aprendam bastante e te espero no próximo vídeo para conversarmos sobre o que é necessário ter instalado para seguir com o curso.
Bem-vindos de volta. Antes de escrever a parte do código, vamos falar um pouco sobre ambientes. Se você acabou de fazer os treinamentos iniciais de PHP, muito provavelmente já está com a mesma versão do PHP que vou utilizar neste curso. Mas se você fez aqueles treinamentos há algum tempo já, talvez esteja com uma versão diferente instalada.
Neste treinamento eu preciso que você esteja pelo menos com a versão 8.1 do PHP. Pode ser até a 8.1.0, sem problemas, mas precisa ser a 8.1. No momento da gravação deste vídeo a mais recente é a 8.1.6, mas se você tiver com 8.1.0 já está bom. Porque vamos utilizar algumas funcionalidades das novas versões do PHP, por isso preciso que você esteja com a sua máquina atualizada, com a sua versão do PHP atualizada para não termos nenhuma discrepância.
Se você instalou uma versão mais antiga, se eu não me engano nos treinamentos anteriores utilizamos a versão 7.2 ou 7.3 que era a versão mais recente da época, você só precisa baixar essa nova versão do PHP e alterar aquela variável do path se você tiver no Windows. Se tiver no Linux existe uma forma de você atualizar, é só você instalar uma nova versão do mesmo repositório que você baixou, etc.
Enfim, caso você esteja no Linux você já consegue se virar um pouco mais, no Windows você só vai precisar alterar aquela variável path, mas basicamente o que você precisa é ter pelo menos a versão 8.1.
Na minha máquina o que eu vou fazer, de novo, relembrando, eu utilizo uma IDE, só que eu não vou utilizar nada específico dessa IDE, você pode utilizar o Visual Studio Code, o Sublime, o bloco de notas se quiser, sem problema nenhum. E tudo que eu fizer aqui embaixo você vai fazer no seu terminal, é como se eu estivesse com essa tela do Prompt de Comando da própria máquina, aberta no seu terminal.
Lembrando alguns detalhes do terminal, com o comando cd
você entra nas pastas. Você vai abrir o terminal e digitar cd
e o caminho para a pasta que você criou para fazer esse projeto. Eu já estou na pasta correta, tudo o que digitar já vai ser executado na pasta do meu projeto.
Só para confirmar, quando digitamos php -v
temos a versão do PHP instalada. Já temos o nosso ambiente configurado, já estamos prontos para aprender o que é o assunto desse treinamento que são as strings. No próximo vídeo já começamos em um ponto bem interessante que são algumas das novidades do PHP 8 em relação às strings.
Bem-vindos de volta. Agora que já revisamos o ambiente, vamos começar a escrever o código. Só relembrando, você precisa estar pelo menos com a versão 8.1 instalada. Mas qualquer versão mais nova também vai funcionar. Se quando você estiver fazendo esse curso já tiver saído a versão 9, a versão 10 do PHP pode usar sem medo que tudo vai continuar funcionando.
Eu vou criar um arquivo PHP chamado "primeira-aula.php", tenho uma tag no PHP aberto e vamos lá. Eu vou ter neste arquivo alguma variável que vai conter uma string. Só para relembrar já fizemos bastante isso, uma variável e posso colocar tanto entre aspas duplas quanto entre aspas simples ou apóstrofos, eu vou colocar o meu nome: $nome = 'Vinicius Dias';
.
Eu tenho uma variável que contém uma string, contém um texto e desse texto eu quero verificar se, por exemplo, esse nome é de alguém da minha família. Como posso verificar isso? Eu quero garantir que na variável nome, ou seja, dentro desse texto entre aspas simples exista a outra string, Dias.
O nome pode ser Dias Alguma Coisa
, pode ser Alguma Coisa Dias
, não importa, o que importa é o nome Dias precisa existir dentro dessa variável. Basicamente eu quero verificar se uma string contém outra string, se uma string está dentro de outra string.
E para fazer isso com o PHP, temos desde a versão 8.0 uma nova função chamada str_contains();
. Essa função, repare que o PHPStorm já está me dando um aviso falando que eu preciso configurá-lo para colocar como a versão da linguagem pelo menos a versão 8.0. Por isso que eu comentei que você precisa atualizar o seu PHP.
Vou avisar ao PHPStorm que estou utilizando o PHP 8, sem problema e vamos continuar. Essa função espera dois parâmetros, o primeiro parâmetro é onde vamos buscar a string que queremos buscar. Por exemplo, se eu quero buscar algo em nome, o primeiro parâmetro é nome: str_contains($nome);
. E o segundo parâmetro é o que queremos buscar nesse primeiro parâmetro, no nosso caso é a palavra Dias, str_contains($nome, needle: 'Dias');
.
Isso vai nos retornar, se eu passar o mouse no PHPStorm ele consegue trazer a documentação para nós, quando eu clico em “str_contains”, consigo ver que ela retorna um booleano. Isso quer dizer que essa função vai retornar verdadeiro se a palavra Dias existir dentro de nome e vai retornar falso se Dias não existir em nome.
Como posso verificar o conteúdo dessa variável? Porque se eu fizer simplesmente echo str_contains($nome, needle: 'Dias');
se isso for falso ele não vai exibir nada, se for verdadeiro, talvez ele exiba o número 1. Existem alguns detalhes de conversão que não precisamos entrar em detalhes, mas tem uma função que podemos utilizar para analisar o valor de uma variável, o nome dessa função é var_dump
.
Essa função basicamente joga para nós o valor dessa variável e qual o seu tipo também. Tenho o meu arquivo e eu espero que isso nos retorne verdadeiro, quando eu executar $ php primeira-aula.php
. Lembrando que eu preciso executar esse comando no terminal já estando na pasta do meu projeto, quando eu executo isso eu tenho lá como resultado um booleano que é verdadeiro, true.
Com isso, consigo identificar se esse nome é da minha família. Vou copiar esse texto e criar uma nova variável $ehDaMinhaFamilia = str_contains($nome, needle: 'Dias');
e que eu posso atribuir esse valor a uma variável. Eu posso, para não precisar ficar fazendo var_dump
, verificar, se é da minha família eu exibo uma mensagem dizendo echo "$nome é da minha família". PHP_EOL;
, e posso adicionar uma quebra de linha no final. Caso contrário eu posso dizer que echo "$nome não é da minha fsmília". PHP_EOL;
.
Já aproveitamos para treinar também dois outros conceitos de string, a interpolação de strings com variáveis, ou seja, adicionar uma variável dentro de uma string e a concatenação de variáveis, estou juntando uma variável com a outra. São conceitos que já vimos bastante, mas não custa nada relembrar.
Quando eu executo Vinicius Dias é da minha família
. Agora se eu chamo de Vinicius dos Santos
agora quando eu executar eu não sou mais da minha família. Com isso, conseguimos fazer a verificação.
Agora eu comentei que essa função surgiu no PHP 8.0, talvez você esteja se perguntando: "Vinicius, isso parece ser uma verificação bem simples, parece ser uma tarefa cotidiana você verificar se uma string contém algum texto, se dentro de um texto tem alguma palavra, por exemplo, isso é uma tarefa muito comum de fazermos. Como isso era feito antes do PHP 8.0?".
Antes do PHP 8.0 eu precisaria procurar a posição da palavra Dias na variável nome e aí a função que procura a posição poderia retornar ou a posição, ou falso. Para verificar isso, eu precisaria verificar se a função que busca posição não retorna falsa. Repare que até te explicando é mais complexo, vamos ver ainda nesse treinamento a função que busca a posição de uma string. Se eu só quero verificar se uma string existe dentro da outra a função str_contains
é mais simples de se utilizar.
Eu consigo verificar se uma string está dentro de outra, mas existem outros cenários que eu quero verificar de forma um pouco mais específica, por exemplo, eu quero saber se uma string começa com determinado texto, eu quero saber se o texto termina com determinada string. Essas funções são o que vamos aprender no próximo vídeo.
O curso PHP Strings: manipulando textos com PHP possui 131 minutos de vídeos, em um total de 42 atividades. Gostou? Conheça nossos outros cursos de PHP em Programação, ou leia nossos artigos de Programação.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.