Php 将CSV文件解析为二维数组
我的目标是将第一个索引(csv中每行的第一个值)放入一个下拉列表htmlPhp 将CSV文件解析为二维数组,php,arrays,parsing,csv,Php,Arrays,Parsing,Csv,我的目标是将第一个索引(csv中每行的第一个值)放入一个下拉列表htmlselectlist test.csv mark, blue, tall, mike, black, short index.php <?php $handle = fopen("csv/food.csv", "r"); while (($data = fgetcsv($handle, 5000, ",")) !== FALSE) { echo "<pre>"; print_r($dat
select
list
test.csv
mark, blue, tall,
mike, black, short
index.php
<?php
$handle = fopen("csv/food.csv", "r");
while (($data = fgetcsv($handle, 5000, ",")) !== FALSE) {
echo "<pre>";
print_r($data);
echo "<pre>";
}
?>
如果我删除高后面的逗号,则输出
<select name="list" >
<?php
$file = fopen("food.csv", "r");
while (!feof($file) ) {
$lines = fgetcsv($file, 1024);?>
<option value="<?php print $lines[0] ?>"> <?php print $lines[0] ?> </option>
<?php } ?>
</select>
<?php
fclose($file);
?>
所需输出
让它工作起来:
这意味着csv文件中没有实际的新行。尝试删除第一行中“Tall”之后的逗号。我尝试过,但它只是将Tall mike
放入[2]
。我会用你建议的输出更新OP。可能是重复的,你投了我反对票?哎呀,谢谢,伙计。嗯,那条线解决了我的问题。
Array
(
[0] => mark
[1] => blue
[2] => tall
mike
[3] => black
[4] => short
)
Array
(
[0][0] => mark
[0][1] => blue
[0][2] => tall
[1][0] => mike
[1][1] => black
[1][2] => short
)
<select name="list" >
<?php
$file = fopen("food.csv", "r");
while (!feof($file) ) {
$lines = fgetcsv($file, 1024);?>
<option value="<?php print $lines[0] ?>"> <?php print $lines[0] ?> </option>
<?php } ?>
</select>
<?php
fclose($file);
?>