【问题标题】:Parsing a CSV file into a two dimensional array将 CSV 文件解析为二维数组
【发布时间】:2012-12-16 19:45:43
【问题描述】:

我的目标是将第一个索引(csv 中每一行的第一个值)放入下拉 html select 列表中。

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>";
}
?>

输出

Array
(
    [0] => mark
    [1] => blue
    [2] => tall
    [3] => mike
    [4] => black
    [5] => short
)

如果我删除高后的逗号,则输出

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
)

【问题讨论】:

  • 这意味着您的 csv 文件中没有实际的新行。尝试删除第一行中“Tall”之后的逗号。
  • 我试过了,但它只是将tall mike 放入[2]。我将根据您的建议更新 OP。
  • 你因此而否决了我?哎呀,谢谢哥们。
  • Welp,那个帖子解决了我的问题。

标签: php arrays parsing csv


【解决方案1】:

搞定了:

<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); 
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    相关资源
    最近更新 更多