PHP fgetcsv() - 将第二个值作为第二个键

时间:2017-03-21 08:46:40

标签: php csv

我有一个包含银行编号和银行名称列表的.csv文件,如下所示

true

当我像这样使用fgetscv()时:

10000000;BBk Berlin
10010010;Postbank Berlin
10010111;SEB Berlin
10010424;Aareal Bank
.......

这会给我一个像这样的单键的数组

$filename = bank.csv;

if (file_exists($filename) && $file = fopen($filename, "r")) {
    while( !feof($file) ) {
        print_r(fgetcsv($file));
    }
}

我想要的是这个:

Array
(
    [0] => 10000000;BBk Berlin
)
Array
(
    [0] => 10010010;Postbank Berlin
)
Array
(
    [0] => 10010111;SEB Berlin
)
Array
(
    [0] => 10010424;Aareal Bank
)

因此银行名称是数组中的单独键。我怎样才能实现这一目标?也许fgetcsv()对我来说不是正确的功能?

2 个答案:

答案 0 :(得分:1)

您的问题是,fgetcsv默认使用,逗号作为分隔符。您需要将其更改为;分号。然后你不再需要爆炸了:))

function process_csv($file) {

    $file = fopen($file, "r");
    $data = array();

    while (!feof($file)) {
        $data[] = fgetcsv($file,null,';');
    }

    fclose($file);
    return $data;
}

答案 1 :(得分:1)

fgetcsv的第三个参数是分隔符,因此您必须相应地设置

fgetcsv($file, 0, ';')