2014-10-17 51 views
1

我试图制作2个类来封装这些文本文件Customer.txt和Orders.txt。客户需要将每行读入每行文本的单独数组实例,我该怎么做? 另外,我必须对文本文件中的逗号做些什么吗?从文本文件中封装并读入数组

我知道我需要使用fopen,不知道如何去做。

这是我到目前为止尝试过的。

<?php 



class readOrders{ 

$array_of_lines = fopen("orders.txt", 'r') or die("Failed to create file"); 
    foreach($array_of_lines as $line) { 
$pieces_of_line = explode(',', $line); 

} 

class readCustomers{ 
$array_of_more_lines = fopen("customers.txt", 'r') or die("Failed to create file"); 
    foreach($array_of_more_lines as $line) { 
$pieces_of_line = explode(',', $line); 

} 


?> 

这里是我的文本文件

Orders.txt

1,4,0133360903,Building Java Programs,Computer Science 
2,6,0321836995,Mathematics All Around,Mathematics 
3,24,0321825721,Mathematics for Elementary Teachers with Activity Manual,Mathematics 
4,10,0133011208,Business Math,Business 

Customers.txt移动

2,Leonie,Köhler,[email protected],University of Stuttgart,Theodor-Heuss-Straße 34,Stuttgart,,Germany,70174,+49 0711 2842222 
3,Bjørn,Hansen,[email protected],University of Oslo,Ullevålsveien 14,Oslo,,Norway,0171,+47 22 44 22 22 
4,François,Tremblay,[email protected],McGill University,1498 rue Bélanger,Montréal,QC,Canada,H2G 1A7,+1 (514) 721-4711 
+0

'$ array_of_lines = file('Orders.txt');'then'foreach($ array_of_lines as $ line){$ pieces_of_line = explode(',',$ line); }' – 2014-10-17 04:02:27

+0

爆炸是做什么的? – 2014-10-17 04:03:28

+0

当您开始尝试运行代码并查看结果时,您将从PHP获得最佳答案。如果您遇到错误,您必须尝试更正自己的代码,查看示例和Google搜索错误消息。至少如果你不能解决你的问题你可以在这里寻求帮助。返回到您的问题 - 您从哪里获取数据? - 如果有应用程序导出csv而不控制数据,那么我建议您使用fgetcsv。如果您确定逗号将仅作为字段的分隔符,并且逗号将不在数据内部 - 您可以将第一个决定用作最简单的决定。 – 2014-10-17 07:46:07

回答

0

我觉得fgetcsv将在这里很有用,例如,从PHP- doc:

<?php 
$row = 1; 
if (($handle = fopen("test.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"; 
     } 
    } 
    fclose($handle); 
} 
?>