函数签名
array explode(string $delimiter, string $string, int $limit = PHP_INT_MAX)
$delimiter:分隔符(字符串,非正则)
$limit > 0:最多返回 $limit 个元素,最后一个包含剩余字符串
$limit < 0:返回除最后 abs($limit) 个元素外的所有
$limit = 0:等同于 1(仅返回整字符串)
基础示例
<?php
$str = '朝阳区,海淀区,西城区,东城区,丰台区';
$arr = explode(',', $str);
print_r($arr);
/*
Array
(
[0] => 朝阳区
[1] => 海淀区
[2] => 西城区
[3] => 东城区
[4] => 丰台区
)
*/
?>
进阶用法
限制返回数量
<?php
$str = 'a,b,c,d';
explode(',', $str, 2); // ['a', 'b,c,d']
explode(',', $str, -1); // ['a', 'b', 'c'] 去掉最后 1 个
?>
分隔符为空字符串
<?php
// PHP 8.0+ 抛 ValueError,旧版返回 false
explode('', 'abc');
?>
配合 trim 清理空白
<?php
$arr = array_map('trim', explode(',', ' a , b , c '));
// ['a', 'b', 'c']
?>
对比:preg_split()
explode:固定字符串分隔,**性能更高**
preg_split:正则分隔,支持复杂模式(如多种分隔符 [,;|])