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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
php入门学习知识点三 PHP上传
Jul 14 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
十个PHP高级应用技巧果断收藏
Sep 25 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
Sep 22 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
substr()函数中文版
2006/10/09 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP计数器的实现代码
2013/06/08 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
2016/12/19 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
Python的time模块中的常用方法整理
2015/06/18 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Mac 上切换Python多版本
2017/06/17 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
分享vim python缩进等一些配置
2018/07/02 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python如何快速生成时间戳
2020/07/21 Python
英国大码女性时装零售商:Evans
2018/08/29 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
人事部岗位职责范本
2014/03/05 职场文书
高考励志标语
2014/06/05 职场文书
合同意向书范本
2014/07/30 职场文书
员工工作表扬信
2015/05/05 职场文书
《比的意义》教学反思
2016/02/18 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
nginx配置虚拟主机的详细步骤
2021/07/21 Servers