字符串分割strtok()函数的用法
与上一篇文章"explode()函数用法",中的explode()每次都将一个字符串全部分割成若干小块不同,strtok()函数一次只从字符串中取出一些片段。对于一次从字符串中取出一个单词的处理来说,strtok()函数比explode()函数的效果更好。
通过查询PHP开发手册可以看到,字符串分割函数strtok()的原型如下所示:
string strtok(string input, string separator);
分隔符可以是一个字符,也可以是一个字符串,但是需要注意的是,我们输入的字符会根据分隔符字符串的每个字符来进行分割,而不是根据整个分隔符字符串来分隔,这个explode()函数一样。
函数strtok()的调用并不像其它的函数原型那样简单的。为了从字符串中得到第一个片段,可以调用strtok()函数,并带有两个输入参数:一个是要进行片段化处理的字符串,还有一个就是分隔符。为了从字符串中得到片段序列,可以只用一个参数—分隔符。该函数会保持它自己的内部指针在字符串中的位置。如果想重置指针,可以重新将该字符串传给这个函数。
strtok()函数的应用实例如下所示:
$token= strtok($feedback,' " ");
echo $token . "
";
while($token !=" ");
echo $token."
";
}
通常,使用像empty()这样的函数来检查用户是否在提交的表单中真正输入了反馈信息,是一个非常不错的主意。这里,不对这些检查进行详细的介绍。
以上代码将用户反馈中的每个信息分割成片段打印在每一行上,并一直循环到不再有分割的片段为止。在这个过程中,空字符串将被自动的跳过。