我正在尝试为我创建的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。