Como separa o nome e sobrenome, sendo um sobrenome composto. Exemplo: $nome = 'João da Silva';
Como separa o nome e sobrenome, sendo um sobrenome composto. Exemplo: $nome = 'João da Silva';
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!
Obrigado Armano