本帖最后由 lan_hai_qi 于 2011-10-12 10:56:51 编辑

解决方案 »

  1.   

    而且我用数组输出fie()读取的文件内容的时候
    我用print_r输出 的时候
    他是这种结果
    它连续输出三次结果
    我就更加不明白了大牛们,快出来啊!
      

  2.   

    第一个问题:
    中文是多字节编码,一般是两个字节对应一个汉字,fgetc是一个字符一个字符读取的,所以会导致乱码问题。
    可以这样:
    <?php
    $fp = fopen('test2.txt', 'rb');
    $ch ="";
    while (false !== ($char = fgetc($fp))) {
        $ch.=$char;
    }
    echo $ch;
    ?>
      

  3.   

    第二个问题。因为换行符在文件中是“\n”,而在网页中是“<br/>”.所以换行符\n在网页中显示只是一个小空格而已。可以用nl2br函数把\n换成<br/><?php
    $filen = file('test2.txt');
    foreach($filen as $val){
      echo nl2br($val);
    }
      

  4.   

    代码:
    $array=file("C:\\Users\\Administrator\\Desktop\\qi.txt");
    foreach($array as $key=>$value)
    {
    //echo $value;
    print_r($array); 
    }结果:
    Array ( [0] => 床前明月光 [1] => 疑是地上霜 [2] => 举头望明月 [3] => 低头思故乡 ) Array ( [0] => 床前明月光 [1] => 疑是地上霜 [2] => 举头望明月 [3] => 低头思故乡 ) Array ( [0] => 床前明月光 [1] => 疑是地上霜 [2] => 举头望明月 [3] => 低头思故乡 ) Array ( [0] => 床前明月光 [1] => 疑是地上霜 [2] => 举头望明月 [3] => 低头思故乡 ) 
      

  5.   

    第一个和第二个问题解决了,谢谢大牛们!
    哪位大牛愿意加个好友,qq的
    QQ:237151944
    这样我就方便问了!
      

  6.   


    你这,让人情何以堪啊?
    foreach中print_r($array)怎么可能不是三次呢,如果有10行数据,那就是10次。$array=file("C:\\Users\\Administrator\\Desktop\\qi.txt");
    foreach($array as $value)
    {
      print_r($value); 
    }
      

  7.   

    那个教我东西的牛人(ohmygirl),能不能加个q,我真心想求教一些问题的!
      

  8.   

    为什么我用$result=mysql_fetch_array($squery)显示我的数据库当中的一个表时输出的会是这种情况,能解释一下不?(说明一下,我用了foreach的循环输出的)代码:
    $server="localhost";
     $username="ming";
     $password="qin";
     if($connetID=@mysql_connect($server,$username,$password))
     {
     
      echo "数据库连接成功!";
      if(mysql_select_db("db_student",$connetID))
        {
      echo "数据库选择成功!";
      //$fopen=fopen("db.opt","r");
      $squery=mysql_query("select aa,bb,cc 
                      from dd",$connetID);
       $result=mysql_fetch_array($squery);
             
              foreach($result as$key=>$value )
              {
              echo $value."<br>";
              }
     }
     
        else
        {
         echo "数据库选择失败!";
      }  
     
     }
    else 
    {
      echo "数据库连接失败!";
    }
    我的表是:
     aa  bb  cc  
     12  11  11 
     12  11  11 
     12  11  11 
    输出是:
    12
    12
    11
    11
    11
    11
      

  9.   

    while($result=mysql_fetch_array($squery,MYSQL_ASSOC)){
                foreach($result as $value){
                         echo $value."<br>";
                }
    }
      

  10.   

    $result=mysql_fetch_array($squery);是取一条数据。你对这一条数据循环取是各个字段的值么?
    正确的取法是:while($result = mysql_fetch_array($squery)){
        echo $result['aa']."<br/>";
        echo $result['aa']."<br/>";
        echo $result['aa']."<br/>";  }
      //while中的这三句可以换成你的foreach循环,也就是:while($result = mysql_fetch_array($squery)){
           foreach($result as $key=>$value )
            {
              echo $value."<br>";
            }  }
      

  11.   

    //将hello写入到test.txt文件中
    $str = 'hello';
    file_put_contents('./test.txt',$str);//获取百度首页的信息
    $str = file_getcontents('http://www.baidu.com');
    print $str
      

  12.   


    关联索引就是用类似名字的东东作为key,例如:
    $arr = array('name'=>'jobs','age'=>'56');
    数字索引当然就是平时遇到的数字作为键值。
    $arr =array(0=>'aa',1=>'bb',3=>'cc');
      

  13.   

    怪不得,我在
    while($result = mysql_fetch_array($squery)){
           foreach($result as $key=>$value )
            {
              echo $value."<br>";
            }  }
    里面mysql_fetch_array($squery)应该设置个参数,MYSQL_NUM或者是MYSQL_ASSOC,不然它默认的话好像会输出重复的数组元素,加一个参数就不会有重复元素的输出了!
    学习数组了!!大牛们太有爱了,解决问题的感觉真是爽!!!!
      

  14.   

    而且大牛
    while($result = mysql_fetch_array($squery)){
      echo $result['aa']."<br/>";
      echo $result['aa']."<br/>";
      echo $result['aa']."<br/>";
    }

    while($result = mysql_fetch_array($squery)){
           foreach($result as $key=>$value )
            {
              echo $value."<br>";
            }  }
    的输出结果是不一样的
    第一个是输出是连续输出aa的数据三次 也就是12 12 12 12 12 12 12 12 12
    第二个是输出一行,也就是等价于
    echo $result['aa']."<br/>";
      echo $result['bb']."<br/>";
      echo $result['cc']."<br/>";
    那么结果就是按行输出表,结果是:12 11 11 12 11 11 12 11 11