PHP中函数的最后一个括号总是出现语法错误


Keep getting syntax error at the final bracket of my function in PHP

我正在尝试为我创建的Dorm类编写一个方法,该方法是assign_to_dorm(),它接受单个参数,这是一个学生对象。

这个方法应该做两件事:

检查占用者属性数组中的项数是否等于或大于capacity属性。如果是,则返回FALSE。如果没有,则取student对象,并将其作为项添加到占用者属性数组中。

<?php
class Dorm
{
    private $dorm_name;
    private $capacity;
    private $occupants = array();

   public function assign_to_dorm(Student)
   {
       $ammount = count($occupants);
       if($ammount >= $capacity)
       {
            return FALSE;
       } 

    } //    <---------------  KEEP GETTING ERRORS HERE
}
?>
public function assign_to_dorm(Student)
                               ^^^^^^^---- bare word

您的参数是一个空词,它不起作用。它应该是一个变量和/或变量+类型提示。

  public function assign_to_dorm($student) //proper variable syntax
   {
       $ammount = count($this->occupants);
       if($ammount >= $this->capacity)  //access members via $this->member_name
       {
            return FALSE;
       } 
    } // 

你的函数定义中有两个错误:

  • 传递给函数的参数应该是$student

  • 班成员应具备$this资质。$occupants是函数作用域中定义的局部变量,$this->occupants是类成员。

乍一看,在assign_to_dorm的参数列表中,您只是提供了Student,即类。试试Student $ Student,或者直接使用$ Student。