explode

(PHP 4, PHP 5, PHP 7, PHP 8)

explodeSplit a string by a string

Descrição

explode(string$separator, string$string, int$limit = PHP_INT_MAX): array

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string separator.

Parâmetros

separator

The boundary string.

string

The input string.

limit

If limit is set and positive, the returned array will contain a maximum of limit elements with the last element containing the rest of string.

If the limit parameter is negative, all components except the last -limit are returned.

If the limit parameter is zero, then this is treated as 1.

Nota:

Prior to PHP 8.0, implode() accepted its parameters in either order. explode() has never supported this: you must ensure that the separator argument comes before the string argument.

Valor Retornado

Returns an array of strings created by splitting the string parameter on boundaries formed by the separator.

If separator is an empty string (""), explode() throws a ValueError. If separator contains a value that is not contained in string and a negative limit is used, then an empty array will be returned, otherwise an array containing string will be returned. If separator values appear at the start or end of string, said values will be added as an empty array value either in the first or last position of the returned array respectively.

Registro de Alterações

VersãoDescrição
8.0.0explode() will now throw ValueError when separator parameter is given an empty string (""). Previously, explode() returned false instead.

Exemplos

Exemplo #1 explode() examples

<?php
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo
$pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list(
$user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo
$user; // foo
echo $pass; // *

?>

Exemplo #2 explode() return examples

<?php

$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );

?>

O exemplo acima produzirá:

array(1) ( [0] => string(5) "hello" ) array(2) ( [0] => string(5) "hello" [1] => string(5) "there" ) array(2) ( [0] => string(0) "" [1] => string(0) "" )

Exemplo #3 limit parameter examples

<?php
$str
= 'one|two|three|four';

// positive limit
print_r(explode('|', $str, 2));

// negative limit
print_r(explode('|', $str, -1));
?>

O exemplo acima produzirá:

Array ( [0] => one [1] => two|three|four ) Array ( [0] => one [1] => two [2] => three )

Notas

Nota: Esta função é compatível com dados binários.

Veja Também

To Top