php 格式化为csv,php 读取csv文件并格式化为数组代码

Rabaca.jpg

//读取csv文件

$data = file(ROOT_PATH.”gao/wnh.csv”);//csv文件路径

$field_list=array(‘cat_id’,’cat_name’,’cat_name_en’,’parent_id’,’filter_attr’);

foreach ($data as $line)

{

// 跳过第一行,如果不需要,则删去代码即可

if ($line_number == 0)

{

$line_number++;

continue;

}

// 转换编码

if (strpos(strtolower(EC_CHARSET), ‘utf’) === 0)

{

$line = ecs_iconv($_POST[‘charset’], ‘UTF8’, $line);

}

// 初始化

$arr = array();

$buff = ”;

$quote = 0;

$len = strlen($line);

for ($i = 0; $i < $len; $i++)

{

$char = $line[$i];

if (‘\\’ == $char)

{

$i++;

$char = $line[$i];

switch ($char)

{

case ‘”‘:

$buff .= ‘”‘;

break;

case ‘\”:

$buff .= ‘\”;

break;

case ‘,’;

$buff .= ‘,’;

break;

default:

$buff .= ‘\\’ . $char;

break;

}

}

elseif (‘”‘ == $char)

{

if (0 == $quote)

{

$quote++;

}

else

{

$quote = 0;

}

}

elseif (‘,’ == $char)

{

if (0 == $quote)

{

if (!isset($field_list[count($arr)]))

{

continue;

}

$field_name = $field_list[count($arr)];

$arr[$field_name] = trim($buff);

$buff = ”;

$quote = 0;

}

else

{

$buff .= $char;

}

}

else

{

$buff .= $char;

}

if ($i == $len – 1)

{

if (!isset($field_list[count($arr)]))

{

continue;

}

$field_name = $field_list[count($arr)];

$arr[$field_name] = trim($buff);

}

}

$goods_list[] = $arr;

}

最后print_r输出下可看到效果~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值