程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP的strtok()函數實例應用

PHP的strtok()函數實例應用

編輯:關於PHP編程

    相對於explode()來說,strtok()函數可以控制節奏。按需切割字串。其優點是:
    1、可以一次定義多個分隔符。函數在執行時,是按單個分隔符來切割,而不是按整個分隔符,而explode則是按整個分隔串來切割的。正因此,explode可以用中文切割,而strtok則不行,會亂碼。
    2、在使用while或for配合strtok()遍歷時,可以隨時更換分隔符,也可以隨時用break跳出終止切割。
    示例1:演示用中文+explode來切割
    $string = "這是PHP論壇 論壇版塊 論壇欄目 論壇H管理員 論壇會員"; 
    $arr = explode("論壇",$string); 
    foreach($arr as $v) 

    echo $v."<br />"; 

    echo "-------------<br />"; 
    返回:
    這是PHP 
    版塊 
    欄目 
    H管理員 
    會員 
    -------------  
    示例2:演示更換切割符,注意後面WHILE中不再帶有“H”分隔符。而只是用空格。
    $string = "這是PHP論壇 論壇版塊 論壇欄目 論壇H管理員 論壇會員"; 
    $tok = strtok($string, " H"); //空格+H 
    $n=1; 
    while ($tok !== false) { 
    echo "$tok<br />"; 
    $tok = strtok(" "); //空格 
    //if($n>2)break; //可以隨時跳出。 
    //$n++; 

    echo "-------------<br />"; 
    返回:
    這是P 
    P論壇 
    論壇版塊 
    論壇欄目 
    論壇H管理員 
    論壇會員 
    ------------- 
    示例3:演示多分隔符。
    $string = "This istan examplenstring"; 
    $tok = strtok($string, " nt"); #空格,換行,TAB 
    while ($tok !== false) { 
    echo "$tok<br />"; 
    $tok = strtok(" nt"); 

    echo "-------------<br />"; 
    返回:
    This 
    is 
    an 
    example 
    string 
    ------------- 
    $string = "abcde 123c4 99sadbc99b5232"; 
    $tok = strtok($string, "bc"); 
    while ($tok !="") { 
    echo "$tok<br />"; 
    $tok = strtok("bc"); 

    echo "-------------<br />"; 
    返回:

    de 123 
    4 99sad 
    99 
    5232 
    ------------- 
    示例4:演示用for來遍歷:
    $line = "[email protected]"; 
    for($token = strtok($line,"t");$token!="";$token=strtok("t")) 

    print("token: $token<BR>n"); 

    返回:
    token: leon 
    token: atkinson 
    token: [email protected]  

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved