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 相关文章推荐
第十三节--对象串行化
Nov 16 PHP
php仿discuz分页效果代码
Oct 02 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
php无限级分类实现方法分析
Oct 19 PHP
PHP自动补全表单的两种方法
Mar 06 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
PHP字符串和十六进制如何实现互相转换
Jul 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生成静态页
2006/11/25 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
调整PHP的性能
2013/10/30 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
js捆绑TypeScript声明文件的方法教程
2018/04/13 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
js实现网页随机验证码
2020/10/19 Javascript
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
pycharm 安装JPype的教程
2019/08/08 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
二手房购房意向书范本
2014/04/01 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL