explode 的坑 - 空字符串分割结果为非空数组

ex­plode —— 使用一个字符串分割另一个字符串

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

查看 PHP 手册,发现一句这样的话:

A string that does­n't con­tain the de­lim­iter will sim­ply re­turn a one-length ar­ray of the orig­i­nal string.

一个不包含分割符的字符串会直接返回一个包含原始字串的长度为一的数组。

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

posted @ 2019-11-21 14:59  海滨擎蟹  阅读(603)  评论(0编辑  收藏