explode
(PHP 4, PHP 5, PHP 7, PHP 8)
explode — 使用一個字串分割另一個字串
說明
$separator, string $string, int $limit = PHP_INT_MAX): array
   此函式返回由字串組成的陣列,每個元素都是
   string
   的一個子串,它們被字串
   separator
   作為邊界點分割出來。
  
參數
- 
separator
- 
      邊界上的分隔字元。 
- 
string
- 
      輸入的字串。 
- 
limit
- 
      如果設定了 limit參數並且是正數,則返回的陣列包含最多limit個元素,而最後那個元素將包含string的剩餘部分。如果 limit參數是負數,則返回除了最後的 -limit個元素外的所有元素。如果 limit是 0,則會被當做 1。
注意:
在 PHP 8.0 之前,implode() 可以接收兩種參數順序。 但請注意,explode() 從未支援亂序傳入參數:你必須保證
separator參數在string參數之前。
返回值
   此函式返回由字串組成的 array,每個元素都是
   string
   的一個子串,它們被字串
   separator
   作為邊界點分割出來。
  
   如果 separator
   為空字串(""),explode()
   將拋出 ValueError。
   如果
   separator
   所包含的值在
   string
   中找不到,並且使用了負數的 limit ,
   那麼會返回空的 array,
   否則返回包含 string
   單個元素的陣列。
   如果 separator 值出現在了
   string 參數的開頭或末尾,
   將在返回 array 相應的頭部或尾部新增 array 空值。
  
更新日誌
| 版本 | 說明 | 
|---|---|
| 8.0.0 | 現在開始,當 separator參數傳入空字串時(""),
       explode() 會拋出 ValueError。
       在早期版本中,explode() 會返回false。 | 
範例
示例 #1 explode() 例子
<?php
// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
示例 #2 explode() return examples
<?php
/*
  字串內不包含分隔字元時,
  會簡單返回只有一個原始字串元素的 array。
*/
$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );
?>
以上例程會輸出:
array(1)
(
    [0] => string(5) "hello"
)
array(2)
(
    [0] => string(5) "hello"
    [1] => string(5) "there"
)
array(2)
(
    [0] => string(0) ""
    [1] => string(0) ""
)
示例 #3 limit 參數的例子
<?php
$str = 'one|two|three|four';
// 正數的 limit
print_r(explode('|', $str, 2));
// 負數的 limit
print_r(explode('|', $str, -1));
?>
以上例程會輸出:
Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)
註釋
注意: 此函式可安全用於二進制對象。
參見
- preg_split() - 通過一個正規表示式分隔字串
- str_split() - 將字串轉換為陣列
- mb_split() - 使用正規表示式分割多位元組字串
- str_word_count() - 返回字串中單詞的使用情況
- strtok() - 標記分割字串
- implode() - 用字串連線陣列元素