PHP - str_split() 函数



PHP 的 str_split() 函数将字符串转换为数组。通常,数组是一种线性数据结构,包含相同类型的多个值(数据)。但是,在 PHP 中,数组实际上是有序映射。映射是一种将值与键关联的类型。

此函数接受一个“可选”参数 length。如果省略,则整个字符串将转换为数组。如果指定,则字符串将转换为数组,每个元素的长度都等于指定的值。

如果给定值小于 1,则会抛出“ValueError”。

语法

以下是 PHP str_split() 函数的语法 -

str_split(string $str, int $length = 1): array

参数

以下是此函数的参数 -

  • str: 输入字符串。
  • length: 它指定每个数组元素的最大长度。

返回值

如果长度“大于” 0,则此函数返回一个数组;否则,将抛出 ValueError

示例 1

如果省略 length 参数,则 PHP str_split() 函数会将整个字符串转换为数组 -

<?php
   $str = "Hello";
   echo "The given string: $str";
   echo "\nAn array: ";
   #using str_split() function
   var_dump(str_split($str));
?>

输出

以上程序产生以下输出 -

The given string: Hello
An array: array(5) {
  [0]=>
  string(1) "H"
  [1]=>
  string(1) "e"
  [2]=>
  string(1) "l"
  [3]=>
  string(1) "l"
  [4]=>
  string(1) "o"
}

示例 2

以下是 PHP str_split() 函数的另一个示例。我们使用此函数将给定的字符串“Tutorialspoint”转换为数组 -

<?php
   $str = "Tutorialspoint";
   echo "The given string: $str";
   echo "\nAn array: ";
   #using str_split() function
   $arr = str_split($str);
   foreach($arr as $a){
	   echo $a." ";
   }
?>

输出

执行以上程序后,将显示以下输出 -

The given string: Tutorialspoint
An array: T u t o r i a l s p o i n t

示例 3

如果我们将 length 参数传递给此函数,则 PHP str_split() 函数会将字符串转换为数组,每个值的长度都等于给定参数指定的长度 -

<?php
   $str = "Welcome to Tutorialspoint";
   echo "The given string: $str";
   $length = 5;
   echo "\nThe given length: $length";
   echo "\nAn array: ";
   // Using str_split() function
   $arr = str_split($str, $length);
   var_dump($arr);
?>

输出

以下是以上程序的输出 -

The given string: Welcome to Tutorialspoint
The given length: 5
An array: array(5) {
  [0]=>
  string(5) "Welco"
  [1]=>
  string(5) "me to"
  [2]=>
  string(5) " Tuto"
  [3]=>
  string(5) "rials"
  [4]=>
  string(5) "point"
}

示例 4

如果长度小于 1(即零或负数),则会抛出 ValueError -

<?php
   $str = "Hello from TP!";
   echo "The given string: $str";
   $length = 0;
   echo "\nThe given length: $length";
   echo "\nAn array: ";
   // Using str_split() function
   $arr = str_split($str, $length);
   var_dump($arr);
?>

输出

执行以上程序时,会抛出以下错误 -

The given string: Hello from TP!
The given length: 0
An array: PHP Fatal error:  Uncaught ValueError: str_split(): 
Argument #2 ($length) must be greater than 0 in C:\Apache24\htdocs\index.php:8
Stack trace:
#0 C:\Apache24\htdocs\index.php(8): str_split('Hello from TP!', 0)
#1 {main}
  thrown in C:\Apache24\htdocs\index.php on line 8
php_function_reference.htm
广告