<?php
$file = "anyu.txt"; //存放谚语的文件位置;
$refresh = 600; //刷新的时间间隔;
$numbers = file($file); //将文件存放在一个数组中;
       shuffle($numbers);
       foreach($numbers as $numbers)
        {
          echo "$numbers<br>";
        }
       
    ?>这个提取的是anyu.txt所有的数据,如何只提取7个数据,请问如何修改?

解决方案 »

  1.   

    是否要把后面的numbers改一下哟?
      

  2.   

    那你就不要用foreach了,直接用for不就行了吗$numbers = file($file); //将文件存放在一个数组中; 这个$numbers是个数组。所以for($i=0;$i<7;$i++){
    echo $numbers[rand(0,count($numbers)-1)];
    }这个方法可否?
      

  3.   

    var_export( r("anyu.txt", 5) );
    var_export( r("anyu.txt", 5) );// 文件名  数量
    function r($filename, $num=10){
        $str = file($filename);
        if(!$str Or $num<1)return array();
        if($num >= count($str))return $str;
        $key = array_rand($str, $num);
        $r   = array()
        for($i=0; $i<$num; $i++){
           $r[] = array( $str[ $key[$i] ] );
        }//for可以用foreach($key as $val){ $r[] = $str[ $val ]; }代替
        unset($filename, $num, $str, $key, $i, $val);
        return $r;
    }
      

  4.   

    用for吧,每一个行读入一个数组,