首页 > PHP 阅读:3

PHP explode():字符串转数组

PHP 使用 explode() 函数分割一个字符串,并将结果保存在一个数组中,其语法如下:

array explode ( string $delimiter , string $str [, int $limit ] )

参数说明:
  • delimiter 表示分隔符,它是 str 的一个子串,可以包含一个字符也可以包含多个字符。
  • str 表示要被分割的字符串。
  • limit 是可选参数,规定所返回的数组元素的数目;如果不写,则表示返回所有数组元素。limit 的取值分为以下几种情况:
    • 如果 limit>0,那么返回的数组最多包含 limit 个元素,而最后那个元素将包含 str 的剩余部分;
    • 如果 limit<0,那么返回除最后的 -limit 个元素外的所有元素。
    • 如果 limit=0,则被视为 1,也即返回包含一个元素的数组。

返回值:explode() 将返回由分割后的字符串组成的数组,每个数组元素都是 str 的一个子串。

PHP implode() 用来将数组转换成字符串,是 explode() 的逆向操作。

该函数的使用示例如下:
<?php
//情形1:以单个字符为分隔符
$pizza  = "piece1,piece2,piece3,piece4,piece5,piece6";
//不写limit参数
$pieces = explode(",", $pizza);
print_r($pieces);
//limit参数为4
$pieces = explode(",", $pizza, 4);
print_r($pieces);
//limit参数为-3
$pieces = explode(",", $pizza, -3);
print_r($pieces);
//limit参数为0
$pieces = explode(",", $pizza, 0);
print_r($pieces);

//情形2:以多个字符(字符串)为分隔符

$input = 'hello---world---everything---is---beautiful';
print_r(explode('---', $input));
?>
上述代码的执行结果如下:

Array
(
    [0] => piece1
    [1] => piece2
    [2] => piece3
    [3] => piece4
    [4] => piece5
    [5] => piece6
)
Array
(
    [0] => piece1
    [1] => piece2
    [2] => piece3
    [3] => piece4,piece5,piece6
)
Array
(
    [0] => piece1
    [1] => piece2
    [2] => piece3
)
Array
(
    [0] => piece1,piece2,piece3,piece4,piece5,piece6
)
Array
(
    [0] => hello
    [1] => world
    [2] => everything
    [3] => is
    [4] => beautiful
)