php读取csv数据保存到数组的方法


Posted in PHP onJanuary 03, 2015

本文实例讲述了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) 

  {

   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程序设计有所帮助。

PHP 相关文章推荐
php 进度条实现代码
Mar 10 PHP
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP IPV6正则表达式验证代码
Feb 16 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
PHP模块memcached使用指南
Dec 08 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
Apr 02 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
PHP多进程简单实例小结
Nov 09 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
php获取用户浏览器版本的方法
Jan 03 #PHP
php堆排序实现原理与应用方法
Jan 03 #PHP
php购物车实现方法
Jan 03 #PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 #PHP
php自定义加密与解密程序实例
Dec 31 #PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 #PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 #PHP
You might like
php5中类的学习
2008/03/28 PHP
PHP 文件类型判断代码
2009/03/13 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
微信自定义分享php代码分析
2016/11/24 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
Python中bisect的用法
2014/09/23 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Java及python正则表达式详解
2017/12/27 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
python中requests和https使用简单示例
2018/01/18 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
2014信息公开实施方案
2014/02/22 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014年团支书工作总结
2014/11/14 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
2015年父亲节寄语
2015/03/23 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
检察院起诉意见书
2015/05/20 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL