explode
(PHP 4, PHP 5, PHP 7)
explode - 按字符串拆分字符串
描述
array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] )
返回一个字符串数组,每个字符串都是通过将字符串分割成由字符串分隔符组成的边界形成的字符串的子字符串。
参数
delimiter
边界字符串。
string
输入字符串。
limit
如果limit设置为正数,返回的数组将包含最大限制元素,最后一个元素包含字符串的其余部分。
如果limit参数为负,则返回除last-limit之外的所有组件。
如果limit参数为零,则将其视为1。
注意:
?? 虽然由于历史原因,implode()可以按任意顺序接受其参数,但explode()不能。 您必须确保分隔符参数出现在字符串参数之前。
返回值
返回通过在由分隔符形成的边界上分割字符串参数而创建的字符串数组。
如果分隔符是空字符串(“”),explode()将返回FALSE。 如果分隔符包含一个不包含在字符串中的值,并且使用负极限,则将返回一个空数组,否则将返回一个包含字符串的数组。
更新日志
版本 | 描述 |
---|---|
5.1.0 | 增加了对负面限制的支持 |
例子
示例#1 explode()示例
<?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;?//?*
?>
示例#2 explode()返回示例
<?php
/*?
???A?string?that?doesn't?contain?the?delimiter?will?simply
???return?a?one-length?array?of?the?original?string.
*/
$input1?=?"hello";
$input2?=?"hello,there";
$input3?=?',';
var_dump(?explode(?',',?$input1?)?);
var_dump(?explode(?',',?$input2?)?);
var_dump(?explode(?',',?$input3?)?);
?>
上面的例子将输出:
array(1)
(
[0] => string(5) "hello"
)
array(2)
(
[0] => string(5) "hello"
[1] => string(5) "there"
)
array(2)
(
[0] => string(0) ""
[1] => string(0) ""
)
示例#3 参数示例limit
<?php
$str?=?'one|two|three|four';
//?positive?limit
print_r(explode('|',?$str,?2));
//?negative?limit?(since?PHP?5.1)
print_r(explode('|',?$str,?-1));
?>
上面的例子将输出:
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
注意
注意:此功能是二进制安全的。
扩展内容
- preg_split() - 用正则表达式分割字符串
- str_split() - 将字符串转换为数组
- mb_split() - 使用正则表达式拆分多字节字符串
- str_word_count() - 返回关于字符串中使用的单词的信息
- strtok() - 标记字符串
- implode() - 使用字符串加入数组元素
← echo
fprintf →
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com