好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php读取csv数据保存到数组代码 - php高级应用

php读取csv数据保存到数组代码

csv是常用的excel格式的替代品,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据,代码如下:

$info =csvtoarray::open( 'teste.csv' );  //echo '<pre>';   //print_r($info);   //echo '</pre>';   foreach  ( $info   as   $c )   {     echo   '学号:' . $c [0];     echo   '姓名:' . $c [1];     echo   '年龄:' . $c [2];     echo   '身高:' . $c [3]. '<br>' ;   }       final  class  csvtoarray{       /**      * 把csv文件解析为一个数组返回      *      * @param string $file 要解析的csv文件路径       * @param char $delimiter csv文件里的内容分隔符 默认为;      * @return array      */      public   static   function  open( $file ,  $delimiter  =  ';' ){      return  self::ordenamultiarray(self::csvarray( $file ,  $delimiter ), 1);    }       private   function  csvarray( $file ,  $delimiter )    {      $result  =  array ();      $size  =  filesize ( $file ) + 1;      $file  =  fopen ( $file ,  'r' );      $keys  =  fgetcsv ( $file ,  $size ,  $delimiter );      fseek ( $file ,0); //这里原来的没有..自己加上..这样能读取到第一行的内容       while  ( $row  =  fgetcsv ( $file ,  $size ,  $delimiter ))     {       for ( $i  = 0;  $i  <  count ( $row );  $i ++)      {        if ( array_key_exists ( $i ,  $keys ))       {         $row [ $keys [ $i ]] =  $row [ $i ];       }      }      print_r( $row );       $result [] =  $row ;     }       fclose( $file );        return   $result ;    }     private   function  ordenamultiarray( $multiarray ,  $secondindex )    { //开源代码phpfensi测试数据       while  (list( $firstindex , ) = each( $multiarray ))      $indexmap [ $firstindex ] =  $multiarray [ $firstindex ][ $secondindex ];     asort( $indexmap );      while  (list( $firstindex , ) = each( $indexmap ))      if  ( is_numeric ( $firstindex ))      $sortedarray [] =  $multiarray [ $firstindex ];      else   $sortedarray [ $firstindex ] =  $multiarray [ $firstindex ];      return   $sortedarray ;    }   }

查看更多关于php读取csv数据保存到数组代码 - php高级应用的详细内容...

  阅读:40次