欢迎访问宙启技术站
智能推送

从字符串到数组:10个PHP分割函数

发布时间:2023-09-09 05:20:10

在PHP中,有许多内置的函数可以用于将字符串分割成数组。这些函数可以根据特定的分隔符、正则表达式或指定的长度来分割字符串。下面是10个常用的PHP分割函数:

1. explode():按照指定的分隔符分割字符串,并返回一个数组。例如,可以使用“,”分割一个逗号分隔的字符串。

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

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

2. preg_split():按照正则表达式分割字符串,并返回一个数组。例如,可以使用正则表达式“/[\s,]+/”来分割一个以空格或逗号分隔的字符串。

$str = "apple banana,orange";
$arr = preg_split("/[\s,]+/", $str);
print_r($arr);

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

3. str_split():将字符串拆分为每个字符,并返回一个字符数组。例如,可以使用str_split()将单词拆分为字母。

$str = "apple";
$arr = str_split($str);
print_r($arr);

// Output:
// Array
// (
//    [0] => a
//    [1] => p
//    [2] => p
//    [3] => l
//    [4] => e
// )

4. strtok():按照指定的分隔符将字符串拆分为标记,并返回每个标记。例如,可以使用strtok()将句子拆分为单词。

$str = "I love PHP programming";
$token = strtok($str, " ");
while ($token !== false) {
   echo $token . "
";
   $token = strtok(" ");
}

// Output:
// I
// love
// PHP
// programming

5. str_word_count():计算字符串中的单词数量,并返回一个包含所有单词的数组。例如,可以使用str_word_count()将句子拆分为单词。

$str = "I love PHP programming";
$arr = str_word_count($str, 1);
print_r($arr);

// Output:
// Array
// (
//    [0] => I
//    [1] => love
//    [2] => PHP
//    [3] => programming
// )

6. explode()和list()结合使用:可以将分割后的数组直接赋值给多个变量。例如,可以将日期字符串拆分为年、月和日。

$date = "2021-01-10";
list($year, $month, $day) = explode("-", $date);
echo "Year: " . $year . "
";
echo "Month: " . $month . "
";
echo "Day: " . $day . "
";

// Output:
// Year: 2021
// Month: 01
// Day: 10

7. str_split()和implode()结合使用:将字符串拆分为字符数组后,可以使用implode()将其重新合并为字符串。例如,可以颠倒一个字符串的字符顺序。

$str = "hello";
$arr = str_split($str);
$arr = array_reverse($arr);
$str = implode("", $arr);
echo $str . "
";

// Output:
// olleh

8. mb_split():与explode()类似,但支持多字节字符。例如,可以使用mb_split()将包含中文的字符串拆分为单个字符。

$str = "你好,世界";
$arr = mb_split("", $str);
print_r($arr);

// Output:
// Array
// (
//    [0] => 你
//    [1] => 好
//    [2] => ,
//    [3] => 世
//    [4] => 界
// )

9. mb_ereg_split():与preg_split()类似,但支持多字节字符的正则表达式。例如,可以使用mb_ereg_split()按照正则表达式“[\s,]+”将包含中英文的字符串拆分为单词。

$str = "Hello 你好, world 世界";
$arr = mb_ereg_split("[\s,]+", $str);
print_r($arr);

// Output:
// Array
// (
//    [0] => Hello
//    [1] => 你好
//    [2] => world
//    [3] => 世界
// )

10. strpbrk():查找字符串中的字符,并返回从 个匹配字符到字符串结尾的子字符串。例如,可以使用strpbrk()将字符串分割为 个非字母字符之前的部分和之后的部分。

$str = "Hello, world!";
$pos = strpbrk($str, " ,");
$part1 = substr($str, 0, strpos($str, $pos));
$part2 = substr($str, strpos($str, $pos));
echo $part1 . "
";
echo $part2 . "
";

// Output:
// Hello
// , world!

以上是10个常用的PHP分割函数,它们可以根据不同的需求和字符串特点来选择使用。无论是按照指定的分隔符、正则表达式还是字符串长度进行分割,这些函数都可以帮助你将字符串转换成数组。