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
廣告