PHP 字符串怎么分割

在开发网站或写小程序脚本时,经常会碰到把一整段文本拆成小块的需求。比如你从用户表单里拿到一串用逗号分隔的水果名字,想单独存到列表里,或者把一段长地址拆成省市街道分开处理,这时候就需要用到字符串分割的功能。

用explode切分固定分隔的字符串

最常用的分割方法是explode函数,它就像一把精准的剪刀,专门用来把“用固定字符隔开的文本”剪成几段。比如你买奶茶时选的配料,会用“|”分开,像“珍珠|椰果|布丁”,如果想把每个配料单独拿出来,就可以用这个函数。

PHP 字符串怎么分割

举个生活化的例子:假设你把朋友的联系方式存在一个字符串里,格式是“姓名,电话,地址”,逗号就是分隔符。写代码的话就是$contact = "李明,13800138000,北京朝阳区";,用explode(',', $contact)就能得到一个数组,把三个信息分别存进去——第一个元素是“李明”,第二个是手机号,第三个是地址。

这个函数有个容易忽略的小细节:如果字符串末尾刚好是分隔符,比如“苹果,香蕉,,”,分割后会多出一个空的数组元素,处理的时候可以用array_filter把空元素删掉,避免后续出问题。

用str_split按固定长度拆分

如果不是用固定字符隔开,而是要把字符串按“长度”拆,就像把一段长胶带剪成每段5厘米的小条,这时候用str_split更合适。比如你拿到一串银行卡号,想每4位拆成一组方便查看,像“6222 0212 3456 7890”,就可以用这个函数。

举个实际场景:用户输入的身份证号是18位字符串,你想拆成6位地区码、8位出生日期、3位顺序码和1位校验码,就可以写$id = "110101199001011234";,用str_split($id, 6)就能得到第一个部分“110101”,再拆后面的内容。

这个函数的好处是不用找额外的分隔符,直接按你设定的长度拆分,适合处理没有明显分隔标记的文本。

自定义规则用preg_split

如果分割规则不固定,比如要把“今天天气很好,我去公园跑步了”拆成“按标点+按空格”混合的情况,preg_split就能派上用场。它就像一把灵活的剪刀,能根据你定的规则剪,比如遇到逗号、句号、感叹号都拆。

举个生活化的例子:把一段聊天记录“今天吃了包子,你吃了吗?我吃了饺子!”拆成单个的句子或短语,用preg_split('/[,。!?]/', $chat)就能按常见标点把句子分开。

这个函数需要用正则表达式来写规则,虽然比前两个稍微复杂一点,但灵活性很高,适合处理规则多变的文本。

不管是按固定字符、固定长度还是自定义规则拆分字符串,都是PHP开发里的基础操作。掌握这几个方法,就能轻松处理日常开发中大部分的文本拆分需求,不用再手动一个个找字符去拆分。

上一篇 TypeScript 如何做树形结构类型