PHP使用strtok()函数

46 篇文章 0 订阅

PHP使用strtok()函数

与函数explode()每次都将一个字符串全部分割成若干小块不同,strtok()函数一次只从字符串中取出一些片段(称为令牌)。对于一次从字符串中取出一个单词的处理来说,strtok()函数比explode()函数的效果更好。

strtok()函数的原型如下所示:

string strtok(string input,string separator);

分隔符可以是一个字符,也可以是一个字符串,但是,需要注意的是,输入的字符串会根据分隔符字符串中的每个字符来进行分割,而不是根据整个分隔字符串来分隔

函数strtok()的调用并不像它的函数原型中那样简单。为了从字符串中得到第一个令牌,可以调用strtok()函数,并带有两个输入参数:一个是要进行令牌化处理的字符串,还有一个就是分隔符。为了 从字符串中得到令牌序列,可以只用==一个参数==——分隔符。 该函数会保持它自己的内部指针在字符串中的位置。如果想重置指针,可以重新将该字符串传给这个函数。

strtok()函数的典型应用如下所示:

<?php

    $str = "He told me:'Hello world! but I don't have any money!'";

    echo "原字符串:<br>";
    var_dump($str);

    $token = strtok($str,"o");

    echo "使用‘o’分割字符串:" ."<br>";
    var_dump($token);

    $token = strtok($str,"oe");

    echo "使用‘oe’分割字符串:" ."<br>";
    var_dump($token);

    //重置指针,重新将该字符串传给这个函数。
    $token = strtok($str,"oe");

    echo "使用‘oe’分割字符串的令牌序列:" ."<br>";
    echo $token ."<br>";

    while($token!=""){
        $token = strtok("oe"); //继续使用上次的指针位置向后分割字符串
        echo    $token."<br>";
}

输出:

原字符串:
string 'He told me:'Hello world! but I don't have any money!'' (length=53)

使用‘o’分割字符串:
string 'He t' (length=4)

使用‘oe’分割字符串:
string 'H' (length=1)

使用‘oe’分割字符串的令牌序列:
H
t
ld m
:'H
ll
w
rld! but I d
n't hav
any m
n
y!'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值