海滨擎蟹

php 库函数 explode 的坑

explode —— 使用一个字符串分割另一个字符串

在涉及到多项相同属性的数据时,习惯性地用逗号隔开,然后放到一个字段里。然后要用的时候,用explode分割开得到数据。
之前碰到字段值为空的情况下,分割得到竟然不是空数组,而是包含一个空字串的长度为一的数据。一直搞不懂什么原因,明明是空的怎么分割出来一个空的元素。之后一直就先判断字段是否为空,再做具体操作。

查看PHP手册,发现一句这样的话:
*A string that doesn't contain the delimiter will simply
return a one-length array of the original string.*

所以,不是因为字符串为空,才返回这样的不理想的结果,而是字符串中不包含分割符,会直接把原始字串作为数组的一个元素进行返回。

explode(",","fool") = array("fool")
explode("|","x,y") = array("x,y")
explode("","")  // 直接报错,提示分割符不能为空
explode(",","") = array("")

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »