如何将.csv文件正确放入PHP中的数组?

时间:2017-03-27 08:27:00

标签: php arrays csv

所以我想建立一个基本的登录/注册页面。我有一个大致如下的CSV文件:

a, b      
r,d 
login, pass

我已经能够正确地将新组合添加到文件中。但是,如果我想将CSV放入一个数组,以便我可以检查用户名/密码组合是否为真,我只得到数组中的第一行,所以[0] =" a"和[1] =" b"。在这个网站上有关于如何将csv放入数组的类似问题,但是每个解决方案都会出现这个问题。我如何获得数组中的其他元素?

编辑:根据建议,我使用的代码:

$database = fopen("database.csv", "r");
                $data = fgetcsv($database, 1000, ",");
                print_r($data);

返回:Array ( [0] => q [1] => w )

确切数据:

q,w
g,h
o,p
t,y
c,d
o,p
o,p
a,b

希望你能帮助我。

1 个答案:

答案 0 :(得分:2)

您可以在documentation中看到fgetcsv只返回文件指针中的一行,NULLFALSE,如果它无法获取另一行。< / p>

您应该将代码放在while循环中以获取所有CSV行。

$credentials = array();
$database = fopen("database.csv", "r");
while (is_array($data = fgetcsv($database, 1000, ','))) {
    $credentials[] = $data;
}
fclose($database);

var_dump($credentials); // This contains all of the credentials.