这是代码:
<?php
$string = 'Hey there buddy';
$token = strtok($string, ' ');
while($token !== false)
{
echo $token."<br/>";
$token = strtok(' ');
}
?>
我只是想知道我是否理解这项权利。这是我对strtok()的看法。要使用strtok(),首先,必须将其设置为带有输入字符串(在这种情况下为$ string)和分隔符(在这种情况下为'')的变量(在这种情况下为$ token)。然后,您必须在while循环中再次使用它,但是这次仅指定分隔符而不是输入字符串,因为在我们第一次使用它时,它已经连接到变量$ string。我对吗?
是的,通过strtok
保留了第一个填充的内部缓冲区$string
。随后返回部分内容;每当您传递它时,都会有一个新字符可以拆分。
您可以使用do / while构造缩短循环:btw:
do {
echo $token."<br/>";
}
while (is_str($token = strtok(' ')));
但是,这也是缺点strtok
。由于它在全局内部字符串缓冲区上工作,因此您只能使用一个这样的循环-它不适合并行地分隔子字符串或在另一个缓冲区上同时工作。
尽管当您仅使用一个定界符进行拆分时,您最好还是使用PHPs过度使用的函数:explode
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句