php explodir

Resumo : neste tutorial, você aprenderá como usar a explode()função PHP para dividir uma string por um separador em um array de strings.

Introdução à função explode() do PHP

A explode()função PHP retorna um array de strings dividindo uma string por um separador. O seguinte mostra a sintaxe da explode()função:

explode ( string $separator , string $string , int $limit = PHP_INT_MAX ) : arrayLinguagem de código:  PHP  ( php )

A explode()função possui os seguintes parâmetros:

  • $separatoré o delimitador que a explode()função usa para dividir a string $.
  • $stringé a string de entrada
  • $limitespecifica como a função retornará a matriz de resultados.

Se $limitfor positivo, a explode()função retorna um array com $limitelementos onde o último elemento contém o resto da string.

Se $limitfor zero, explode()a função o interpreta como um. Portanto, a função retorna um array com a string original.

Se $limitfor negativo, a explode()função divide $string usando o $separator. Além disso, remove os últimos $limitelementos da matriz de resultados.

Antes do PHP 8.0.0, a explode()função retornava false se o $separator fosse uma string vazia. A partir do PHP 8.0.0, a explode()função lança um ValueError.

Exemplos de funções PHP explode()

Vejamos alguns exemplos de uso da explode()função.

1) Exemplo simples da função explode() do PHP

O exemplo a seguir usa a explode()função para dividir uma string por uma vírgula ( ,):

<?php

$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str);

print_r($headers);Linguagem de código:  PHP  ( php )

Saída:

array(4) 
{ 
    [0]=> string(10) "first_name" 
    [1]=> string(9) "last_name" 
    [2]=> string(5) "email" 
    [3]=> string(5) "phone" 
}Linguagem de código:  PHP  ( php )

2) Usando a função PHP explode() com um $limit positivo

O exemplo a seguir usa a explode()função com o $limitargumento a positivo:

$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str, 3);

var_dump($headers);Linguagem de código:  PHP  ( php )

Saída:

array(3) 
{ 
    [0]=> string(10) "first_name" 
    [1]=> string(9) "last_name" 
    [2]=> string(5) "email,phone" 
}Linguagem de código:  PHP  ( php )

Conforme mostrado claramente na saída, o array retornado contém três elementos especificados pelo $limitargumento. Além disso, o último elemento possui a string restante.

3) Usando a função PHP explode() com $limit negativo

O exemplo a seguir usa a explode()função com o $limitargumento negativo:

$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str, -1);

var_dump($headers);Linguagem de código:  PHP  ( php )

Saída:

array(3) 
{ 
    [0]=> string(10) "first_name" 
    [1]=> string(9) "last_name" 
    [2]=> string(5) "email" 
}Linguagem de código:  PHP  ( php )

Neste exemplo, a explode()função retorna um array da string dividida pela vírgula ( ,). Além disso, exclui o último elemento da matriz de resultados.

Se você usar -2em vez de – 1para $limit, a explode()função removerá os 2 últimos elementos. Por exemplo:

$str = 'first_name,last_name,email,phone';
$headers = explode(',', $str, -1);

var_dump($headers);Linguagem de código:  PHP  ( php )

Saída:

array(2) 
{ 
    [0]=> string(10) "first_name" 
    [1]=> string(9) "last_name"
}Linguagem de código:  PHP  ( php )

4) Um exemplo prático da função explode() do PHP

A str_after()função a seguir retorna o restante de uma string após a primeira ocorrência de uma string:

<?php

function str_after($str, $search)
{
    return $search === '' ? $str : array_reverse(explode($search, $str, 2))[0];
}Linguagem de código:  PHP  ( php )

Como funciona.

  • Primeiro, divida a string em uma matriz de dois elementos separados pela $searchstring.
  • Segundo, inverta a matriz de resultados e retorne o primeiro elemento da matriz de resultados.

O exemplo a seguir usa a str_after()função para obter a parte do nome de domínio de um email:

<?php
// ...

echo str_after('[email protected]', '@');Linguagem de código:  PHP  ( php )

Saída:

tutorials.acervolima.comLinguagem de código:  PHP  ( php )

Resumo

  • Use a função PHP explode()para retornar um array de strings dividindo uma string por um separador.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *