我正在关注一个教程,并且遇到了我需要解释的代码。此模板 php 代码用于解析 csv 文件并使用结果填充 $data 关联数组。<?php $header = false; $data = []; $file = fopen($filename, 'r'); while(!feof($file)) { $row = fgetcsv($file, 0, ','); if($row == [NULL] || $row === FALSE) { continue; } if(!$header) { $header = $row; } else { $data[] = array_combine($header, $row); } } fclose($file);从此示例 csv 文件中:brand,model,year,category,gender,color,weight_kg,condition_id,priceTrek,Emonda,2017,Hybrid,Unisex,black,1.5,5,1495.00Cannondale,Synapse,2016,Road,Unisex,matte black,1.0,5,1999.00Schwinn,Cutter,2016,City,Unisex,white,18,4,450.00Mongoose,Switchback Sport,2015,Mountain,Mens,blue,24,2,399.00Diamondback,Overdrive,2016,Mountain,Unisex,dark green,23.7,3,565.00Schwinn,21-Speed Suburban CS,2015,Hybrid,Womens,burgundy,20,3,299.00Schwinn,Sanctuary 7-Speed,2016,Cruiser,Womens,purple,19.5,3,190.00Vilano,Forza,2015,Road,Unisex,silver,13.6,4,390.00SE,Creature,2016,BMX,Mens,dark grey,9.1,2,410.00我了解除此部分之外的所有内容:if(!$header) { $header = $row;}我正在努力理解 php 代码如何识别哪个是标题行,哪个不是。谁能解释一下,谢谢。
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
CSV 文件的第一行是标题。为了确保这个标题不会被读取为正常行,他使用“$header = false;” 一开始。
在第一次迭代之后,他更新了值:
if(!$header) { $header = $row; }
$row 的值是填充的,所以本质上是真的
- 1 回答
- 0 关注
- 150 浏览
添加回答
举报
0/150
提交
取消