字串分割函式explode 的使用方法

2022-04-09 03:52:03 字數 1072 閱讀 9512

通常我們在開發專案中,想檢視使用者通過表單或者其它方式提交的字串的各個部分,以便於分類儲存和使用。例如,檢視句子中的單詞,或者要將乙個**或者電子郵箱位址分割成乙個個的組成部分。在php中提供了幾個實現這一需求的函式,今天就來說說其中的乙個explode()函式。

在php開發手冊中,其函式原型如下所示:

array explode(string separator,string input [, int limit]);

此函式返回由字串組成的陣列,每個元素都是 string 的乙個子串,它們被字串 separator 作為邊界點分割出來。如果設定了 limit 引數,則返回的陣列包含最多 limit 個元素,而最後那個元素將包含 string 的剩餘部分。

如果 separator 為空字串(""),explode() 將返回 false。如果 separator 所包含的值在 string 中找不到,那麼 explode() 將返回包含 string 單個元素的陣列。如果 limit 引數是負數,則返回除了最後的 -limit 個元素外的所有元素。此特性是 php 5.1.0 中新增的。 由於歷史原因,雖然 implode() 可以接收兩種引數順序,但是 explode() 不行。你必須保證 separator 引數在 string 引數之前才行。

要在我們的php專案中,通過顧客的電子郵箱位址獲得網域名稱,可以使用如下所示的php指令碼:

$email_array = explode('@', $email);

**說明:在這裡,通過呼叫explode()函式,將顧客的電子郵箱位址分割成兩部分:使用者名稱,它儲存在陣列的第乙個元素中,也就是$email_array[0]中,而郵箱網域名稱則儲存在第二個陣列元素$email_array[1]中。現在,我們已經可以測試網域名稱來判斷使用者的**,然後將他們儲存到指定的位置:

if ($email_array[1]== "qq.com") else

請注意,如果網域名稱是大寫的或者大小寫混合的,這個函式就不能正常的起作用。你可以通過網域名稱轉換(轉換成全是大寫或小寫)的方法來避免這個問題,然後再按照如下的方法來檢查是否正常匹配:

if (strtolower($email_array[1])== "qq.com") else

php中利用explode函式分割字串到陣列

分割字串 利用 explode 函式分割字串到陣列 複製 如下 php so程式設計客棧urce hello1,hello2,hello3,hello4,hello5 按逗號分離字串 hello explode for index 0 index split程式設計客棧函式進行字元分割 分隔符可以是...

字串分割函式

這幾天處理字串,突然遇到字串分割問題,上網查了一些資料後,找到這兩個函式,strtok與strsep函式。網上舉的例子千篇一律,下面我根據函式的實現原始碼,記錄一下使用說明,供大家討論,歡迎大牛拍磚!ps 找個庫函式原始碼的 查詢 真不容易,先找到了這個 之後,發現了經常去找軟體的oschina有原...

分割字串函式split C

字串分割符 public const string separatorstring 取得字元的第幾個字元,通過分割符分割的字串,pos以1開始 字串 分割符 第幾個 返回第幾個字串 string str split rrrrddrew tqwewerewddccc 1 public static s...