在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"){$toaddress= "boss@qq.com";} else{$toaddress= "feedback@example.com";}
請注意,如果域名是大寫的或者大小寫混合的,這個函數就不能正常的起作用。你可以通過域名轉換(轉換成全是大寫或小寫)的方法來避免這個問題,然后再按照如下的方法來檢查是否正常匹配:
if (strtolower($email_array[1])== "qq.com"){$toaddress= "boss@qq.com";} else{$toaddress= feedback@example.com;}
下面我們看一個分割字符串實例,代碼如下:
<?phpheader("content-type:text/html;charset=utf-8");$this_year = 2017;$text = <<< EOT小李,F,1994,合肥,PHP程序員小劉,M,1993,安慶,php工程師小王,F,1991,六安,項目經理EOT;$lines = explode("/n", $text); //將多行數據分開foreach ($lines as $userinfo) { $info = explode(",", $userinfo, 3); //僅分割前三個數據 $name = $info[0]; $sex = ($info[1] == "F")? "女" : "男"; $age = $this_year - $info[2]; echo "姓名: $name $sex . 年齡:$age <br/>";}?>
代碼運行結果:
【相關文章推薦】
1.php explode() 函數實例詳解
以上就是php explode()函數的使用方法的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答