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下过滤HTML代码的函数
Dec 10 PHP
Zend Guard一些常见问题解答
Sep 11 PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 PHP
使用php显示搜索引擎来的关键词
Feb 13 PHP
php输出1000以内质数(素数)示例
Feb 16 PHP
php实现mysql封装类示例
May 07 PHP
ThinkPHP标签制作教程
Jul 10 PHP
浅析php原型模式
Nov 25 PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 PHP
PHP入门教程之会话控制技巧(cookie与session)
Sep 11 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
Oct 15 PHP
PHP实现倒计时功能
Nov 16 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
php 归并排序 数组交集
2011/05/10 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
常用简易JavaScript函数
2009/04/09 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
python显示天气预报
2014/03/02 Python
Python中的默认参数详解
2015/06/24 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
七年级英语教学反思
2014/01/15 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
建筑工地质量标语
2014/06/12 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
自我查摆剖析材料
2014/10/11 职场文书
2016年教师节感言
2015/12/09 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书