首页 > 解决方案 > PHP将对象声明为函数参数的数组

问题描述

我对 PHP 很陌生。我在将对象声明为函数参数的数组时遇到问题。在 Java 中,我只是public void methodName (List<Object> listVariableName){}用于传递许多对象的列表。

我在 PHP 中做了一些研究,其中一个答案建议array像这样放入方法参数声明function myFunction($a, array Object $obj){}

目前,我有一个名为Lesson

class Lesson implements JsonSerializable{
private $lessonId;
    private $lessonNo;
    private $lessonTitle;
    private $isLessonActive;
    private $isLessonRemoved;

    //getters and setter here....
}

然后我试图声明一个名为的方法addTopicLesson

function addTopicLesson(Topic $topic, array Lesson $lesson){

}

但是,我遇到了一个错误array Lesson $lesson

有 1 个主题和许多课程。我该如何去实现或定义方法签名?

我找到了这个,但我想知道是否有比调用自身更好的方法。

我很感激任何建议。

谢谢你。

标签: phparrays

解决方案


List<T>不是数组。这是一个利用泛型类型机制的列表。

PHP 中没有泛型。您只能输入提示,array但您无法在方法声明级别控制其中的内容。


推荐阅读