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 相关文章推荐
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
PHP 简单日历实现代码
Oct 28 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
php常用数学函数汇总
Nov 21 PHP
php数组键名技巧小结
Feb 17 PHP
PHP实现远程下载文件到本地
May 17 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
Mar 22 PHP
thinkphp框架下404页面设置 仅三步
May 14 PHP
微信支付开发交易通知实例
Jul 12 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程序员必备技能
2015/11/13 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
Javascript检查图片大小不要让大图片撑破页面
2014/11/04 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
Python龙贝格法求积分实例
2020/02/29 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
什么是URL
2015/12/13 面试题
暑期社会实践感言
2014/02/25 职场文书
一岗双责责任书
2014/04/15 职场文书
保护环境演讲稿
2014/05/10 职场文书
工地宣传标语
2014/06/18 职场文书
驻村工作先进事迹
2014/08/14 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
委托书英文
2015/01/28 职场文书