PHP提供多种字符串与数组互转方法:explode()按分隔符拆分,str_split()按长度分割,preg_split()支持正则,json_decode()解析JSON,implode()合并数组,serialize/unserialize实现双向转换。

如果需要将字符串转换为数组,或把数组转换为字符串,PHP 提供了多个内置函数来实现不同场景下的格式转换。以下是几种常用且实用的转换方法与组合技巧:
explode() 函数依据指定分隔符将字符串切割成索引数组,适用于结构清晰、分隔符固定的字符串解析。
1、定义一个含逗号分隔的字符串,例如 $str = "apple,banana,cherry";
2、调用 explode(",", $str),返回索引数组 ["apple", "banana", "cherry"]
立即学习“PHP免费学习笔记(深入)”;
3、可配合 trim() 对每个元素去除首尾空格,如 array_map('trim', explode(",", $str))
str_split() 用于将字符串按指定长度切分为字符数组,适合处理单字节字符串或需逐字符/固定字节操作的场景。
1、声明字符串 $str = "hello";
2、执行 str_split($str) 得到 ["h","e","l","l","o"]
3、传入第二个参数如 str_split($str, 2) 可得 ["he","ll","o"]
preg_split() 支持复杂模式匹配,能处理多分隔符、空白符混合、忽略连续分隔符等高级需求。
1、设定字符串 $str = "a,,b, c d";
2、使用 preg_split('/[,\s\t]+/', $str, -1, PREG_SPLIT_NO_EMPTY) 过滤空项
3、结果为 ["a", "b", "c", "d"],自动兼容逗号、空格、制表符等多种分隔方式
当字符串是标准 JSON 数组格式(如 "["x","y","z"]")时,json_decode() 可安全还原为 PHP 索引或关联数组。
1、准备 JSON 字符串 $json = '["red","green","blue"]';
2、调用 json_decode($json, true) 第二个参数设为 true 以获得关联数组形式(此处等效于索引数组)
3、若 JSON 含键名,如 '{"a":1,"b":2}',同样适用,返回关联数组 ['a' => 1, 'b' => 2]
implode() 是 explode() 的逆向操作,用于拼接数组元素为单一字符串,常用于生成 CSV、路径、SQL IN 列表等。
1、定义数组 $arr = ["cat", "dog", "bird"];
2、执行 implode(",", $arr) 得到字符串 "cat,dog,bird"
3、对含特殊字符的元素,可先使用 addslashes() 或 urlencode() 处理,再 implode
在实际业务中,原始字符串常含首尾空格、空字段或换行符,单独使用 explode 易产生无效元素,需组合清理逻辑。
1、获取原始字符串 $str = " apple , , banana , cherry ";
2、执行 $parts = array_map('trim', explode(',', $str));
3、再用 array_filter($parts, 'strlen') 剔除空字符串,得到 ["apple", "banana", "cherry"]
serialize() 可将任意 PHP 数组(含嵌套、类型混合)转为可存储字符串;unserialize() 则还原,适用于缓存、会话、日志等场景。
1、定义复杂数组 $data = ["name" => "Alice", "scores" => [85, 92, 78], "active" => true];
2、执行 $serialized = serialize($data); 输出形如 "a:3:{s:4:"name";s:5:"Alice";s:6:"scores";a:3:{i:0;i:85;i:1;i:92;i:2;i:78;}s:7:"active";b:1;}"
3、后续可用 unserialize($serialized) 完整还原原始结构,保持键名、类型、嵌套层级不变
以上就是php函数怎么转换字符串数组_php函数转换字符串数组方法与组合技巧的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号