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实现的在线人员函数库
Apr 09 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
php全排列递归算法代码
Oct 09 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 PHP
PHP实现根据图片色界在不同位置加水印的方法
Aug 08 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
PHP获取真实客户端的真实IP
Mar 07 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
May 26 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 在线打包_支持子目录
2008/06/28 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
仿微博字符限制效果实现代码
2012/04/20 Javascript
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
Python类的专用方法实例分析
2015/01/09 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Python类装饰器实现方法详解
2018/12/21 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Python shelve模块实现解析
2019/08/28 Python
皇家阿尔伯特英国官方商店:Royal Albert骨瓷
2019/03/25 全球购物
人事主管岗位职责
2014/01/30 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
公司行政管理制度范本
2015/08/05 职场文书
详解Python常用的魔法方法
2021/06/03 Python
Python实现科学占卜 让视频自动打码
2022/04/09 Python