PHP 字符串:分割字符串
分割字符串
开始
在 PHP 中,可以使用explode()
、str_split()
和 preg_split()
函数分割字符串 。
explode()
本函数为 implode()
的反函数,使用一个字符串分割另一个字符串,返回一个数组。
语法
explode(string $separator ,string $string [, int $limit])
参数说明
参数 | 说明 |
---|---|
separator | 分割标志 |
string | 需要分割的字符串 |
limit | 可选,表示返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分,支持负数。 |
例子
$str = 'one|two|three|four';
print_r(explode('|', $str));
print_r(explode('|', $str, 2));
// 负数的 limit (自 PHP 5.1起支持)
print_r(explode('|', $str, -1));
输出
Array
(
[0] => one
[1] => two
[2] => three
[3] => four
)
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
str_split()
str_split()
将字符串分割为一个数组,成功返回一个数组。
语法
str_split(string $string [, int $length])
参数
参数 | 说明 |
---|---|
string | 需要分割的字符串 |
length | 可选,表示每个分割单位的长度,不可小于1 |
例子
$str = 'one two three';
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
输出
Array
(
[0] => o
[1] => n
[2] => e
[3] =>
[4] => t
[5] => w
[6] => o
[7] =>
[8] => t
[9] => h
[10] => r
[11] => e
[12] => e
)
Array
(
[0] => one
[1] => tw
[2] => o t
[3] => hre
[4] => e
)
preg_split()
preg_replace
函数通过一个正则表达式分隔字符串。
语法
preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
参数
参数 | 说明 |
---|---|
pattern | 用于搜索的模式,字符串形式。 |
subject | 输入字符串。 |
limit | 可选,如果指定,将限制分隔得到的子串最多只有limit个,返回的最后一个 子串将包含所有剩余部分。limit值为-1, 0或null时都代表”不限制”, 作为php的标准,你可以使用null跳过对flags的设置。 |
flags | 可选,可以是任何下面标记的组合(以位或运算 |
例子
$string="php教程#php入门:教程#字符串:多分隔符#字符串:拆分#数组";
$arr = preg_split("/(#|:)/",$string);
print_r($arr);
输出
Array
(
[0] => php教程
[1] => php入门
[2] => 教程
[3] => 字符串
[4] => 多分隔符
[5] => 字符串
[6] => 拆分
[7] => 数组
)