Php 将CSV文件解析为二维数组

Php 将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

我的目标是将第一个索引(csv中每行的第一个值)放入一个下拉列表html
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); 
?>