3v4l.org

run code in 300+ PHP versions simultaneously
<?php function reduzirNome($nomeCompleto, $numeroPalavras = -1) { $palavras = explode(' ', trim($nomeCompleto)); // Divide o nome completo em um array de palavras // Verifica se há pelo menos um nome $partes = count($palavras); if ($partes === 0) return ''; elseif ($partes === 1) return $palavras[0]; // O primeiro nome será sempre incluído $primeiroNome = array_shift($palavras); // Se o número de palavras for positivo if ($numeroPalavras > 0) { $limite = min($numeroPalavras, count($palavras)); // Verifica o limite, garantindo que ele não exceda o tamanho do array $palavras = array_slice($palavras, 0, $limite); // Retorna as palavras que em breve se unirão ao primeiro nome } elseif ($numeroPalavras < 0) { $limite = min(+$numeroPalavras, count($palavras)); // Verifica o limite, garantindo que ele não exceda o tamanho do array $palavras = array_slice($palavras, $numeroPalavras, $limite); // Retorna as palavras que em breve se unirão ao primeiro nome } else { $palavras = []; // Apenas o primeiro nome se $numeroPalavras for 0 } // Junta o primeiro nome com as palavras extras e retorna return trim($primeiroNome . ' ' . implode(' ', $palavras)); } // Exemplos de uso echo reduzirNome("Maria Clara da Silva", 2); // Maria Clara da echo "\n"; echo reduzirNome("Maria Clara da Silva", -2); // Maria da Silva echo "\n"; echo reduzirNome("Maria", 2); // Maria echo "\n"; echo reduzirNome("João Pedro", 0); // João
Output for git.master_jit, git.master
Maria Clara da Maria Maria João

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
26.13 ms | 405 KiB | 5 Q