我有一个像这样的结构:
<?php
$token=strtok($var,";");
while($token!=false)
{
for($i=1;$i<=number_scores;$i++)
{
$score_token=strtok($var2,";");
$k=0;
while($score_token!=false)
{
$k++;
$score_token=strtok(";");
}
$score_token=strtok($var3,";");
while($score_token!=false)
{
$k--;
$score_token=strtok(";");
}
echo $k;
}
$token=strtok(";");
}
?>
此代码无法正常工作,因为内部标记生成器正在更新字符串标记生成器,并且外部标记生成器仅运行一次。为此做了什么工作?
答案 0 :(得分:1)
documentation on strtok非常清楚地说“要重新开始,或者为了一个新的字符串,你只需要再次使用字符串参数调用strtok来初始化它”,并且没有提到让多个解析进入的方法一旦。
我会将explode用于至少一个解析,将令牌放入数组中,然后您可以随意查看。