PHP 将逗号、空格、回车分隔的字符串转换为数组的函数


在PHP中,你可以使用`explode()`函数来将使用逗号、空格、回车等分隔符分隔的字符串转换为数组。但是,`explode()`函数一次只能使用一个分隔符。如果你的字符串包含多种分隔符(如逗号、空格、回车等),你需要先使用`preg_split()`函数,它支持使用正则表达式作为分隔符,从而可以匹配多种分隔符。

下面是一个使用`preg_split()`函数的示例,它将逗号、空格(包括空格、制表符、换行符等空白字符)作为分隔符来分割字符串:


<?php
// 示例字符串,包含逗号、空格和回车
$string = "apple, orange \nbanana\t pear\n\rgrapes";

// 使用preg_split()函数,以逗号、空格(包括所有空白字符)作为分隔符
$array = preg_split('/[\s,]+/', $string, -1, PREG_SPLIT_NO_EMPTY);

// 打印结果
print_r($array);
?>

在这个例子中,`preg_split()`函数的第一个参数是正则表达式`/[\s,]+/`,它匹配一个或多个空格(`\s`代表任何空白字符,包括空格、制表符、换行符等)或逗号(`,`)。这样,无论字符串中的元素是由逗号、空格还是它们的组合分隔的,都会被正确地分割成数组元素。

`PREG_SPLIT_NO_EMPTY`标志用于确保返回数组中不包含空字符串元素。如果你不需要这个特性,可以去掉它或将其替换为其他`preg_split()`支持的标志。

注意:虽然在这个特定情况下我们使用了`preg_split()`,但在只需要单一分隔符的情况下,`explode()`函数通常更简洁、更高效。