1. 程式人生 > >PHP explode函式

PHP explode函式

以下所有內容全部來自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
)