PHP explode函式
阿新 • • 發佈:2018-12-18
以下所有內容全部來自php手冊
不要問我為什麼,只是因為方便我檢視,畢竟手冊這玩意在手機上不方便
explode
(PHP 4, PHP 5, PHP 7)
explode — 使用一個字串分割另一個字串
說明
array explode ( string $delimiter
, string $string
[, int $limit
] )
此函式返回由字串組成的陣列,每個元素都是 string
的一個子串,它們被字串 delimiter
作為邊界點分割出來。
引數
delimiter
邊界上的分隔字元。
string
輸入的字串。
limit
如果設定了 limit
limit
個元素,而最後那個元素將包含 string
的剩餘部分。
如果 limit
引數是負數,則返回除了最後的 -limit
個元素外的所有元素。
如果 limit
是 0,則會被當做 1。
由於歷史原因,雖然 implode() 可以接收兩種引數順序,但是 explode() 不行。你必須保證 separator
引數在 string
引數之前才行。
返回值
此函式返回由字串組成的 array,每個元素都是 string
的一個子串,它們被字串 delimiter
作為邊界點分割出來。
如果 delimiter
為空字串(""),explode()
FALSE
。 如果 delimiter
所包含的值在 string
中找不到,並且使用了負數的 limit
, 那麼會返回空的 array, 否則返回包含 string
單個元素的陣列。
更新日誌
版本 | 說明 |
---|---|
5.1.0 | 支援負數的 limit |
4.0.1 | 增加了引數 limit |
範例
Example #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; // * ?>
Example #2 explode() return examples
<?php
/* A string that doesn't contain the delimiter will simply return a one-length array of the original string. */
$input1 = "hello";
$input2 = "hello,there";
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
?>
以上例程會輸出:
array(1)
(
[0] => string(5) "hello"
)
array(2)
(
[0] => string(5) "hello"
[1] => string(5) "there"
)
Example #3 limit
引數的例子
<?php
$str = 'one|two|three|four';
// 正數的 limit
print_r(explode('|', $str, 2));
// 負數的 limit(自 PHP 5.1 起)
print_r(explode('|', $str, -1));
?>
以上例程會輸出:
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)