while(1)
{
$num=0;
$data=fgetc($fp);
while($data!=" "&&!feof($fp))
{
$num++;
$data=fgetc($fp);
}这段程序有问题吧
应该是一个死循环,没有通过什么语句退出
为什么上面代码中如下语句没有输出,php中数组也是需要先静态的指定大小的吗?最大限制是多少?
if(i%3==1)
{
$total++;
echo $a[i/3][1]."<br>" ;
}php中的数组没有限制,不需要先静态指定大小的.
 就用数组这个数据结构就行了.

解决方案 »

  1.   

    当分隔符确实只有一个空格时
    <?php 
    $fp=fopen("result.txt","r");
    $total=0;
    while(! feof($fp)) {
      $ar = fgetcsv($fp, 1024, ' ');
      if($ar[1] == 1)
        $total++;
    }
    fclose($fp);
    echo '共'.$total.'人';
    ?>当分隔符可能出现二个及以上空格时
    <?php 
    $fp=fopen("result.txt","r");
    $total=0;
    while(! feof($fp)) {
      $ar = split(' +', fgets($fp, 1024, ' '));
      if($ar[1] == 1)
        $total++;
    }
    fclose($fp);
    echo '共'.$total.'人';
    ?>