原来 explode 还有第三个参数,竟然这么好用!

explode 是 PHP 一个常见的字符串处理函数,主要用于将字符串按照指定的分隔符拆分成数组。比如下面的代码就是通过英文逗号将字符串转换为数组。

$str	= "apple,banana,orange";
$fruits	= explode(",", $str);

// 结果:
// Array
// (
//     [0] => apple
//     [1] => banana
//     [2] => orange
// )

我相信大部分人(主要是我)都是这么用这个函数,但是绝大部分都不知道,explode 这个 PHP 函数还有第三个参数:$limit,这是一个可选参数,限制返回数组的最大元素数量。

我标题里面说这么好用,好用在哪里呢?🧐

🙋‍♀️🌰 我有个字符串,比如 args=type=select&name=gravatar,这个字符串其实是两部分,第一部分是 args 是 key,第二部分(type=select&name=gravatar),它其实是个 query_string,我的目的到时候通过 WordPress 函数 wp_parse_args 函数是将其解析成数组的。

如果直接使用 explode 分割字符串拆成数组的话:

$str	= "args=type=select&name=gravatar";
$arr	= explode("=", $str);

// 结果:
// Array
// (
//     [0] => args
//     [1] => type
//     [2] => select&name
//     [3] => gravatar
// )

这是我又要使用 implode 函数将除了第一个元素之外,其他元素拼成字符串。

有点烦躁。😒

这是第三个参数就派上用场了,设置为 2,看看结果

$str	= "args=type=select&name=gravatar";
$arr	= explode("=", $str, 2);

// 结果:
// Array
// (
//     [0] => args
//     [1] => type=select&name=gravatar
// )

是不是就是我需要的结果!🥳

最后我们在看看第三个参数 $limit 的用法:

  1. 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 str 的剩余部分
  2. 如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
  3. 如果 limit 是 0,则会被当做 1。

好了,以后不要傻傻自己使用 implode 函数拼贴回去了,记得 explode  还有第三个参数的,而且非常好用。


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。