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高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30194