Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Separando nome de sobrenome

Como separa o nome e sobrenome, sendo um sobrenome composto. Exemplo: $nome = 'João da Silva';

2 respostas
solução!

Olá, Renan! Tudo joia?

No seu exemplo, você tem a string 'João da Silva' e quer separar em 'João' e 'da Silva'.

O problema é que a função explode do PHP, que foi apresentada na aula, separa a string por um determinado caractere (no caso, o espaço) e retorna um array. No caso do seu exemplo, se usarmos explode(' ', 'João da Silva'), teremos um array com três elementos: 'João', 'da' e 'Silva'.

Uma forma de contornar isso é considerar que o primeiro elemento do array é sempre o nome e o restante é o sobrenome. Para fazer isso, você pode usar a função array_shift do PHP, que remove o primeiro elemento do array e retorna ele. Então, o restante do array pode ser unido novamente em uma string usando a função implode.

Aqui está um exemplo de como você pode fazer isso:

<?php
$nomeCompleto = 'João da Silva';
$partes = explode(' ', $nomeCompleto);

$nome = array_shift($partes);
$sobrenome = implode(' ', $partes);

echo "Nome: $nome " . PHP_EOL; // Saída: Nome: João
echo "Sobrenome: $sobrenome "; // Saída: Sobrenome: da Silva

Nesse exemplo, primeiro dividimos o nome completo em partes usando explode. Depois, removemos a primeira parte (o nome) usando array_shift. O que sobra no array $partes é o sobrenome, que então unimos novamente em uma string usando implode.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Obrigado Armano