从CSV中获取每行数据,然后将其数据单元格存入variables

我的CSV有像表

现在,我想要做的是,对于每个logging,我想要获取相应的单元格数据并将它们放入variables中。 (我需要使用variables执行一些任务)。

例如(对于每一行,它们在variables中的值)

$id = 1; $name = 'Test'; 

等等

数组可以用来做到这一点。

例如,$ row_1 =('1','Test','chicago','testuser','21','123456789')

我试图search谷歌,但结果与我的查询无关。

所以你可以在每一行上运行一个for循环,并让它从每一行和单元格返回数据。

 <?php $row = 1; if (($handle = fopen("data.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; // echo $data[1]; } } fclose($handle); } ?> 

记住把你的csv文件的位置在代码中

希望有所帮助

呃…认为这是JavaScript ..

但是我想我可以尝试在PHP中: http : //codepad.org/8SBgTCYy

 $labels = explode(",", "id,name,city,username,contact_id,phone"); $values = explode(",", "1,Test,chicage,testuser,21,123456789"); $i = 0; $count = count($labels); $object = array(); for ( ; $i < $count; $i++ ) { $object[$labels[$i]] = $values[$i]; } var_dump($object); 

另一个是: http : //codepad.org/AmVp08QR

 $values = explode(",", "id,1,name,Test,city,chicago,username,testuser,contact_id,21,phone,123456789"); $i = 0; $count = count($values); $object = array(); for( ; $i < $count; $i++ ) { $object[$values[$i]] = $values[$i+1]; } var_dump($object); 

像这样:

id,name,city,username,contact_id,phone

1,Test,chicage,testuser,21,123456789

 var labels = "id,name,city,username,contact_id,phone".split(","), values = "1,Test,chicage,testuser,21,123456789".split(","), object = {}, i = 0, len = labels.length; for( ; i < len; i++) object[labels[i]] = values[i]; 

现在你把Object对象命名为:

 { id: "1", name: "Test", city: "chicago", username: "testuser", contact_id: "21", phone: "123456789" } 

或者像这样:

id,1,name,Test,city,chicago,username,testuser,contact_id,21,phone,123456789

 var values = "id,1,name,Test,city,chicago,username,testuser,contact_id,21,phone,123456789".split(","), object = {}, i = 0, len = values.length; for ( ; i < len; i+=2 ) { object[values[i]] = values[i+1]; } 

然后你最终得到同样的对象。

看看fgetcsv()和家人…

另外,您的CSV文件更符合CSV标准。 我发现很多CSV文件是使用非标准的惯例生成的……这使得interop非常痛苦。

http://www.php.net/manual/en/function.fgetcsv.php

http://www.php.net/manual/en/function.fputcsv.php

http://www.php.net/manual/en/function.str-getcsv.php

array_combine()在这里可能会有所帮助:

 $labels = explode(",", "id,name,city,username,contact_id,phone"); $values = explode(",", "1,Test,chicage,testuser,21,123456789"); // Use fgetcsv() to read these from your file $data = array_combine($labels,$values); var_dump($data); 

我采用了我自己的技术,把每一行的逗号分隔开来。