原文: PHP Explode – How to Split a String into an Array

PHP explode() 函数将一个字符串转换为一个数组。字符串中的每个字符都有一个索引,从 0 开始。与内置的 imlode() 函数一样,explode() 函数不修改数据(字符串)。

explode() 函数的语法

explode() 函数接收三个参数:

  • 分隔符
  • 要转换为数组的字符串
  • 返回的数组元素的最大数目

完整的语法看起来像这样:

explode(separator, string, limit)

implode() 即使没有分隔符,也能工作,而 explode() 函数没有分隔符就不会工作。所以,就像字符串分割成数组一样,分隔符是必须的。你可以使用 limit 参数来指定期望的数组数量。它是可选的。

implode() 的例子

比方说,我有一个字符串 “Hello World”。如果将该字符串传入 explode() 函数,Hello 在数组中的索引为 0,World 的索引为1。 记住,数组使用基于 0 的索引。

$str = "Hello world";
$newStr = explode(" ", $str);

// 我们在打印一个字符串,所以我们可以使用 print_r()
print_r($newStr); 
ss1-3

如果你在 explode() 函数中指定了一个限制,那么 index(es) 将不会超过这个数字。例如,如果你指定 2,所有的字符串都会显示出来,但索引不会超过 2。

$str = "CSS, HTML, PHP, Java, JavaScript";
$newStr = explode(" ", $str, 2);

// 我们在打印一个字符串,所以我们可以使用 print_r()
print_r($newStr); 
ss2-3

你可以看到,第一个元素的索引为 0,其余的逗号分隔的元素的索引为 1,该索引不超过指定的 2 的限制。

explode() 函数查看字符串中的空格,将字符串分割成一个数组。如果你把两个不同的字打在一起,它们会被视为一个。

$str = "CSS HTMLPHP Java JavaScript";
$newStr = explode( " ", $str);

// 我们在打印一个字符串,所以我们可以使用 print_r()
print_r($newStr); 
ss5-2

你可以看到,HTML 和 PHP 被打印在一起,因为它们之间没有空格。

小结

这篇文章向你展示了如何在 PHP 中使用 explode() 函数。

注意,与 implode() 不需要分隔符就能工作不同,分隔符在 explode() 中是非常重要的。如果不指定分隔符,explode() 将不能按所期望的工作。

$str = "CSS, HTML, PHP, Java, JavaScript";
$newStr = explode($str, 2);

// 我们在打印一个字符串,所以我们可以使用 print_r()
print_r($newStr); 
ss3-3

如果你将分隔符设置为一个空字符串,你会得到错误:

ss4-3

谢谢你阅读本文。