Explode用于轻松地用分隔符分割一个字符串。
支持 | PHP 4及更高版本 |
---|---|
简要描述 | 通过分隔符将字符串分割成一个数组。 |
要求 | 无 |
注意 | 不能插入一个数组,只能插入一个字符串。 |
通常我们需要根据一些简单的规则来分割一个字符串。例如,一个以逗号分隔的数字列表。
explode()函数在这方面很好,它把分隔符(分隔字符串)作为第一个参数,把数据本身作为第二个参数。
$cisla = '3, 1, 4, 1, 5, 9';$parser = explode(',', $cisla);foreach ($parser as $cislo) {echo $cislo . '<br>';// 在这里我们可以进一步处理这些数字}
但是,如果数字是由逗号隔开的,但周围有空格怎么办?
解决办法是通过最小的普通子串进行解析,然后删除其周围不需要的字符(空格和其他空白)。
$cisla = '3, 1,4, 1 , 5 ,9';$parser = explode(',', $cisla);foreach ($parser as $cislo) {echo trim($cislo) . '<br>';// 在这里我们可以进一步处理这些数字}
在这种情况下,trim()
函数优雅地去除字符周围的空白(空格、制表符、换行符...),只给出干净的数据。
提示:对于许多例子,explode()并不适合,使用正则表达式要好得多。
然而,我们经常只想解析到某一距离的数据,第三个(可选)参数limit可以用于这一目的。
例如,我们有以冒号分隔的结构化数据,我们想获得第一个冒号之后的内容,而忽略其他冒号。 例子。
$cas = '格式:"j.n.Y - H:i"';
如果我们只将该字符串解析为。
$parser = explode(':', $cas);
我们将得到这3个子字符串(在其他情况下可能有更多的子字符串)。
'格式''"j.n.Y - H''i"'
因此,我们设置了一个限制,以获得多少个元素(可能所有其他的元素将被附加到最后一个元素的末尾)。
$parser = explode(':', $cas, 2);//回来了。echo $parser[0]; // 格式echo $parser[1]; // "j.n.Y - H:i"
**注意:**不需要的引号可以从字符串中删除,例如,通过使用
trim()
函数。
echo trim($parser[1], '"'); // 第二个参数指定要删除的字符地图
通常我们需要得到一个被另外两个字符串所包围的字符串。在PHP中没有直接的函数,但我们可以自己编写。
function between(string $left, string $right, string $data): string{$l = explode($left, $data);$r = explode($right, $l[1]);return $r[0];}
使用正则表达式可以实现更优雅的分割和处理字符串,我在另一个页面中讨论。
$ip = '10.0.0.138';$parser = explode('.', $ip);echo $parser[0]; //打印出 "10"echo $parser[1]; //打印出 "0"。
$ip
变量包含一个输入字符串,根据.
分隔符进行解析,返回是一个数组。除非指定限制,否则解析会一直持续到字符串的末尾。
类型 | 描述 | |
---|---|---|
1 | 字符串 | 分离字符串。 |
2 | 字符串 | 解析的字符串。 |
3 | int | 解析限制。这是一个可选的参数。例子。 |
$text = 'PHP是我最喜欢的语言!';$parser = explode('', $text, 1);echo $parser[0]; //打印出第一个字echo $parser[1]; //打印其余的文本echo $parser[2]; //没有输出任何东西,因为已经设置了一个限制!
返回值是一个包含解析过的字符串的数组。
指数从零到X
编号,除非指定限制。
PHP版本 | 描述 |
---|---|
5.1.0 | 增加了对通行证负数限制的支持。 |
4.0.1 | 增加了可选的limit参数。 |
当使用负的limit时,会给出从字符串末端开始的元素数量。
例子。
$str = '一、二、三、四';// 正极限print_r(explode('|', $str, 2));// 负数限制(自 PHP 5.1 起)。print_r(explode('|', $str, -1));
以下字段将被返回。
Array([0] => one[1] => two|three|four)Array([0] => one[1] => two[2] => three)
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | zh