Php 使用逗号进行分析时出现分析错误

Php 使用逗号进行分析时出现分析错误,php,arrays,file-io,Php,Arrays,File Io,我得到了这个错误: 分析错误:语法错误,意外的“$array\u of_line”T_变量,第7行的C:\wamp\www\site6\book-utilities.inc.php中需要函数T_ 我尝试使用两个类来读取单独的文件,客户文件应该被读取,每一行都被读取到一个数组的新实例中。订单文件应读入订单对象数组 这就是我现在所拥有的,我这样做是错误的吗 <?php class readOrders{ $array_of_lines = fopen("orders.txt", 'r'

我得到了这个错误:

分析错误:语法错误,意外的“$array\u of_line”T_变量,第7行的C:\wamp\www\site6\book-utilities.inc.php中需要函数T_

我尝试使用两个类来读取单独的文件,客户文件应该被读取,每一行都被读取到一个数组的新实例中。订单文件应读入订单对象数组

这就是我现在所拥有的,我这样做是错误的吗

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

}


?>
customers.txt

2,Leonie,Köhler,leonekohler@surfeu.de,University of Stuttgart,Theodor-Heuss-Straße 34,Stuttgart,,Germany,70174,+49 0711 2842222
3,Bjørn,Hansen,bjorn.hansen@yahoo.no,University of Oslo,Ullevålsveien 14,Oslo,,Norway,0171,+47 22 44 22 22
4,François,Tremblay,ftremblay@gmail.com,McGill University,1498 rue Bélanger,Montréal,QC,Canada,H2G 1A7,+1 (514) 721-4711
5,František,Wichterlová,frantisekw@jetbrains.com,Charles University,Klanova 9/506,Prague,,Czech Republic,14700,+420 2 4172 5555
6,Astrid,Gruber,astrid.gruber@apple.at,Vienna University of Technology,Rotenturmstraße 4, Vienna,,Austria,1010,+43 01 5134505
7,Helena,Holý,hholy@gmail.com,Charles University,Rilská 3174/6,Prague,,Czech Republic,14300,+420 2 4177 0449
16,Aaron,Mitchell,aaronmitchell@yahoo.ca,University of Manitoba,696 Osborne Street,Winnipeg,MB,Canada,R3L 2B9,+1 (204) 452-6452
17,Ellie,Sullivan,ellie.sullivan@shaw.ca,Aurora College,5112 48 Street,Yellowknife,NT,Canada,X1A 1N6,+1 (867) 920-2233
18,João,Fernandes,jfernandes@yahoo.pt,University of Lisbon,Rua da Assunção 53,Lisbon,,Portugal,,+351 (213) 466-111
19,Madalena,Sampaio,masampaio@sapo.pt,University of Porto,4350 Rua dos Campeões Europeus de Viena, Porto,,Portugal,,+351 (225) 022-448
22,Isabelle,Mercier,isabelle_mercier@apple.fr,University of Burgundy,68 Rue Jouvence,Dijon,,France,21000,+33 03 80 73 66 99
23,Emma,Jones,emma_jones@hotmail.com,King's College,202 Hoxton Street,London,,United Kingdom,N1 5LH,+44 020 7707 0707

每个文件有多个类通常是不好的做法。该问题可能是由于两个类上的foreach循环缺少一个结束的花括号造成的:

class readOrders{
   public function __construct(){
       $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{
    public function __construct(){
       $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);
      }
    }
}

类只能在大括号{}之间直接具有方法和属性定义。而且,您没有关闭foreach循环

似乎要在构造函数中运行代码:

class readOrders{

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

}

这对类来说是有效的语法吗?这不应该被包装在一个带有返回的公共函数中吗?你是100%正确的,整个结构在发布的代码中是无效的。我假设他没有发布所有的代码/遗漏了明显的错误。错误消息指出了缺陷aha,相应地更新你的答案,从MEA获得+1。你应该阅读php中的类和对象:对于构造函数来说,返回或设置内部变量是最好的吗?目前它正在修改值,但没有use@MattTingle您能否详细说明您希望如何与这两个类交互,以及这两个类所需的数据结构?你有订单类还是想使用stdClass?好吧,我将把客户数据显示到一个表中。顺便说一句,这确实有效,没有错误,我的死亡消息也没有显示。
class readOrders{

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

}