php读取csv数据保存到数组的方法

 更新时间:2015年01月03日 14:49:32   投稿:shichen2014  
这篇文章主要介绍了php读取csv数据保存到数组的方法,通过封装的类文件实现这一功能,是对csv文件操作的实用技巧,需要的朋友可以参考下

本文实例讲述了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自定义错误处理的方法分析

    这篇文章主要介绍了PHP自定义错误处理的方法,结合实例形式分析了php错误处理机制及php自定义错误处理相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • php中mt_rand()随机数函数用法

    php中mt_rand()随机数函数用法

    这篇文章主要介绍了php中mt_rand()随机数函数用法,较为详细的分析了mt_rand()随机数函数的常见用法,并结合数组遍历给出了数组随机输出的实例,需要的朋友可以参考下
    2014-11-11
  • php 时间time与日期date之间的使用详解及区别

    php 时间time与日期date之间的使用详解及区别

    PHP中有time函数,也有date函数,这两个函数在使用时候的区别很明显。但更应注意,time和date是两个完全不时的格式,当然还有一种字符串格式。本文重点介绍这几者的区别。
    2016-11-11
  • php 友好URL的实现(吐血推荐)

    php 友好URL的实现(吐血推荐)

    下面的代码主要是伪静态的实现,搜索引擎喜欢
    2008-10-10
  • PHP实现获取域名的方法小结

    PHP实现获取域名的方法小结

    这篇文章主要介绍了PHP实现获取域名的方法,实例总结了常见的获取域名的方法,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • php实现MySQL数据库备份与还原类实例

    php实现MySQL数据库备份与还原类实例

    这篇文章主要介绍了php实现MySQL数据库备份与还原类,可实现针对MySQL数据库的导入与导出功能,并且包含了针对数据库操作时的加锁与解锁等功能,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP autoload使用方法及步骤详解

    PHP autoload使用方法及步骤详解

    这篇文章主要介绍了PHP autoload使用方法及步骤详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • AJAX的跨域访问-两种有效的解决方法介绍

    AJAX的跨域访问-两种有效的解决方法介绍

    本篇文章是对AJAX的跨域访问-两种有效的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP读取目录树的实现方法分析

    PHP读取目录树的实现方法分析

    这篇文章主要介绍了PHP读取目录树的实现方法,结合实例形式分析了php针对文件目录结构的遍历、读取操作实现技巧,需要的朋友可以参考下
    2019-03-03
  • PHP自动选择 连接本地还是远程数据库

    PHP自动选择 连接本地还是远程数据库

    假设我们要在test.php文件中操作虚拟主机的数据库,则首先要在本地调试,那么必然要连接本地、远程两个不同的数据库,问题:怎么让test.php自动识别当下该连接本地还是远程数据库呢?
    2010-12-12

最新评论