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 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
May 02 PHP
PHP 引用是个坏习惯
Mar 12 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
PHP调用MySQL存储过程并返回值的方法
Dec 26 PHP
php+ajax制作无刷新留言板
Oct 27 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 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分页显示制作详细讲解
2006/12/05 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
关于php循环跳出的问题
2013/07/01 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
详解PHP归并排序的实现
2016/10/18 PHP
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
JS常用知识点整理
2017/01/21 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
2017/01/23 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
分享ES6的7个实用技巧
2018/01/18 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python实现多线程的两种方式分析
2018/08/29 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
青年文明号服务承诺
2014/03/31 职场文书
书香家庭事迹材料
2014/05/09 职场文书
安全教育观后感
2015/06/17 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
django 认证类配置实现
2021/11/11 Python