PHP中字符串转数组最常用explode()按分隔符拆分;str_split()用于单字符拆分;str_getcsv()专用于CSV格式解析;preg_split()适用于正则复杂分割。

PHP中把字符串转为数组,最常用的是 explode() 函数,适合按指定分隔符拆分;如果要按字符逐个拆成数组,用 str_split();处理格式化字符串(如 CSV 行)可用 str_get();而 preg_split() 适用于需要正则匹配的复杂分割场景。
用 explode() 按分隔符拆分
这是最常见的方式,把字符串按某个字符或子串切开,返回索引数组。
- 语法:
explode($delimiter, $string, $limit) - $delimiter 不能为空字符串,否则会报 Warning 并返回 false
- $limit 可选:限制返回元素个数,负数表示忽略最后 N 个片段
例如:
$str = "apple,banana,orange";<br> $arr = explode(",", $str); // ['apple', 'banana', 'orange']
登录后复制
用 str_split() 拆成单字符数组
当你要把字符串每个字符(包括空格、标点)都变成数组元素时用它。
- 语法:
str_split($string, $length) - $length 默认为 1,即每个字符一个元素;设为 2 就每两个字符一组
- 中文等多字符需配合 mb_str_split()(PHP 7.4+)避免乱码
例如:
$str = "abc";<br> $arr = str_split($str); // ['a','b','c']
登录后复制
用 str_getcsv() 解析 CSV 格式字符串
适合处理带引号、逗号在内容里、转义等真实 CSV 场景,比 explode 更健壮。
腾讯AI开放平台
381 立即学习“”;
- 自动处理双引号包裹的字段、内部逗号、换行符等
- 支持自定义分隔符、封装符和转义符(可选参数)
例如:
$str = '"John Doe","age: 25","city, NY"';<br> $arr = str_getcsv($str); // ['John Doe', 'age: 25', 'city, NY']
登录后复制
用 preg_split() 按正则规则分割
当分隔逻辑较复杂(比如多个空格、混合符号、跳过空项),正则更灵活。
- 语法:
preg_split($pattern, $subject, $limit, $flags) - 常用标志:
PREG_SPLIT_NO_EMPTY过滤空元素,PREG_SPLIT_DELIM_CAPTURE捕获分隔符本身 - 注意 PCRE 模式需加定界符,如
/s+/
例如:
$str = "a btcnd";<br> $arr = preg_split('/s+/', $str, -1, PREG_SPLIT_NO_EMPTY); // ['a','b','c','d']
登录后复制
基本上就这些。选哪个函数,关键看字符串结构和你的拆分需求——简单分隔用 explode,单字拆分用 str_split,CSV 用 str_getcsv,复杂规则上正则。
以上就是如何实现把字符串转为数组?的详细内容,更多请关注php中文网其它相关文章!
相关标签:
微信扫一扫打赏
支付宝扫一扫打赏
