2011-06-01 96 views
2

我哈瓦这样的结构:嵌套字符串标记在PHP

<?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(";"); 
    } 
?> 

此代码不能正常工作像预期的那样在字符串标记是由内断词更新和外部标记生成器只运行一次。这是什么工作?

回答

1

documentation on strtok非常清楚地说:“重新开始,或者标记一个新的字符串,你只需再次用字符串参数调用strtok来初始化它”,并没有提到一次有多个解析的方法。

我会使用explode进行至少一次解析,将令牌放入一个数组中,然后您可以在空闲时进行检查。

+0

所以我们没有办法使用字符串标记器来实现这一点? – sasidhar 2011-06-01 12:10:55