php 读取csv 添加数组,将.csv读入PHP数组

您已经在PHP中使用了这种实现:

$csv = array_map('str_getcsv', file('someCSVfile.csv'));

说明:

> str_getcsv() – 将CSV字符串解析为数组.

> file() – 将整个文件读入数组.

> array_map(Function,Array) – 在将回调函数应用于每个元素之后,返回包含该数组的所有元素的数组.

示例输出:

//CSV

NAME,CLASS,ROOM

Sally,2018,312

Belinda,2017,148

//OUTPUT:

Array(

[0] => Array([0] => NAME, [1] => CLASS, [2] => ROOM),

[1] => Array([0] => Sally, [1] => 2018, [2] => 312),

[2] => Array([0] => Belinda, [1] => 2017, [2] => 148)

)

关联键

使用关联键解析两个快速函数 – 两者都基于array_map方法:

方法1:跑两次

function assoc_getcsv($csv_path) {

$r = array_map('str_getcsv', file($csv_path));

foreach( $r as $k => $d ) { $r[$k] = array_combine($r[0], $r[$k]); }

return array_values(array_slice($r,1));

}

方法2:运行一次

function assoc_getcsv($csv_path) {

$f = array();

function parse_csv_assoc($str,&$f){

if (empty($f)) { $f = str_getcsv($str); }

return array_combine($f, str_getcsv($str));

}

return array_values(array_slice(array_map('parse_csv_assoc', file($csv_path), $f),1));

}

示例输出:

//CSV

NAME,CLASS,ROOM

Sally,2018,312

Belinda,2017,148

//OUTPUT:

Array(

[0] => Array([NAME] => Sally, [CLASS] => 2018, [ROOM] => 312),

[1] => Array([NAME] => Belinda, [CLASS] => 2017, [ROOM] => 148)

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值