explode
(PHP 4, PHP 5, PHP 7, PHP 8)
explode — Divide uma string com base em outra string
Descrição
Retorna um array de strings, sendo que cada uma é uma sub-string da
string
, formado pela separação dela nos
limites formados pela string informada em separator
.
Parâmetros
separator
-
A string que define o separador.
string
-
A string de entrada.
limit
-
Se
limit
estiver definido e for positivo, o array retornado conterá um máximo delimit
elementos com o último elemento contendo todo o restante dastring
.Se
limit
for negativo, todos os componentes exceto os (último -limit
) são retornados.Se
limit
for zero, é tratado como 1.
Note:
Antes do PHP 8.0, implode() aceitava seus dois primeiros parâmetros em qualquer ordem. A função explode() nunca suportou isto: deve-se garantir que o parâmetro
separator
vem antes do parâmetrostring
.
Valor Retornado
Retorna um array de strings
criado pela separação da string
nos limites
formados pelo parâmetro separator
.
Se separator
for uma string vazia (""),
explode() lança um ValueError.
Se separator
contiver um valor não
contido em string
e um valor negativo
for usado em limit
, um array vazio será
retornado, caso contrário um array contendo
string
será retornado. Se valores de separator
aparecerem no início ou no final da string
, said values
elementos de array vazios serão adicionados na posição inicial ou
final do array retornado, respectivamente.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
explode() agora lança um ValueError
quando separator é informado com uma string vazia
("" ).
Anteriormente, explode() retornava false nesse caso.
|
Exemplos
Example #1 Exemplos de explode()
<?php
// Exemplo 1
$pizza = "fatia1 fatia2 fatia3 fatia4 fatia5 fatia6";
$fatias = explode(" ", $pizza);
echo $fatias[0]; // fatia1
echo $fatias[1]; // fatia2
// Exemplo 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
Example #2 Exemplo de retorno de explode()
<?php
/*
Uma string que não contém o separador simplesmente
irá retornar um array de 1 elemento com a string original.
*/
$input1 = "olá";
$input2 = "olá,mundo";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );
?>
O exemplo acima produzirá:
array(1) ( [0] => string(3) "olá" ) array(2) ( [0] => string(3) "olá" [1] => string(5) "mundo" ) array(2) ( [0] => string(0) "" [1] => string(0) "" )
Example #3 Exemplos do parâmetro limit
<?php
$str = 'um|dois|três|quatro';
// limite positivo
print_r(explode('|', $str, 2));
// limite negativo
print_r(explode('|', $str, -1));
?>
O exemplo acima produzirá:
Array ( [0] => um [1] => dois|três|quatro ) Array ( [0] => um [1] => dois [2] => três )
Notas
Note: Esta função é compatível com dados binários.
Veja Também
- preg_split() - Divide uma string com base em expressão regular
- str_split() - Converte uma string em um array
- mb_split() - Divide uma string multibyte usando expressão regular
- str_word_count() - Retorna informação sobre palavras usadas em uma string
- strtok() - Divide uma string em tokens
- implode() - Aglutina elementos de um array com uma string