php中可以使用 explode() 将字符串按分隔符转为数组,使用 implode() 将数组按连接符合并为字符串。这两个函数互为逆运算,只要分隔符一致且数据不含特殊字符,即可实现无损互转。

explode() 如何处理空字符串或无匹配项
当输入字符串为空时,explode() 返回包含一个空字符串的数组;若无匹配分隔符,则返回原字符串的单元素数组。

$str = "";
$arr = explode(",", $str);
var_dump($arr); // array(1) { [0]=> string(0) "" }
$str2 = "a,b,c";
$arr2 = explode("|", $str2);
var_dump($arr2); // array(1) { [0]=> string(5) "a,b,c" }
implode() 对非字符串值的处理
implode() 会将数组中的非字符串值转换为字符串,整数转为数字串,布尔值转为 "1" 或 "",null 转为空串。
立即学习“PHP免费学习笔记(深入)”;

$arr = [1, true, null, "hello"];
$result = implode("-", $arr);
echo $result; // 1-1--hello基于 implode() 输出中空值导致的连续分隔符问题
当数组中包含 null 或空字符串时,implode() 会产生连续的分隔符,如 "a--b",这在解析时可能导致歧义。



















