PHP 函数 explode 用法详解


介绍

explode 函数可以通过一个字符串来分割原始字符串,返回一个存放结果的数组。比如将字符串 1001,1002,1003 通过字符 , 分割为数组 [1001, 1002, 1003]

函数原型

explode(string $delimiter, string $string[, int $limit ]) : array

第一个参数 $delimiter,类型为字符串,表示分隔符号。
第二个参数 $string,类型为字符串,表示原始要分隔的字符串。
第三个参数 $limit,类型为整型,可选。当参数为正数时,表示最多分隔的结果个数。超过此个数后,后续字符串不再分隔;当参数为负数时,表示从分隔结果的末尾忽略此数量的结果。

用法示例

分隔时,传递分隔符和原始字符串。

explode("::", "1001::1002::1003");
// 结果
array(3) {
  [0]=>
  string(4) "1001"
  [1]=>
  string(4) "1002"
  [2]=>
  string(4) "1003"
}

分隔时,同时指定最多个数。

explode("::", "1001::1002::1003", 2)
// 结果
array(2) {
  [0]=>
  string(4) "1001"
  [1]=>
  string(10) "1002::1003"
}

指定个数为 -1 时,忽略末尾 1 个元素。

explode("::", "1001::1002::1003", -1)
// 结果
array(2) {
  [0]=>
  string(4) "1001"
  [1]=>
  string(4) "1002"
}

经验

当原始字符串为空串时,警惕返回结果数组不为空情况,易引发 Bug。

// 分隔字符
$res = explode(",", "");
// 当存在有效分隔结果时(此处存在逻辑问题)
if ($res) {
  var_dump($res);
}

打印出的数组内容,表明结果为只有一个空串的数组。

array(1) {
  [0]=>
  string(0) ""
}

参考资料

https://www.php.net/manual/zh/function.explode.php


手机扫码阅读

本文为作者原创(特别说明的部分除外),版权归作者本人所有。请勿转载本文;欢迎引用并链接到原文。

发表评论

电子邮件地址不会被公开。 必填项已用*标注