使用PDO::FETCH_CLASS的好处是什么以及何时使用


What is the benefit of using PDO::FETCH_CLASS and when to use it

我想知道什么时候必须使用PDO::FETCH_class,使用它而不是使用PDO::FETCH_ASSOC等其他获取方法有什么好处?

这取决于您喜欢或需要什么。

PDO::FETCH_ASSOC使fetch返回一个关联数组。

PDO::FETCH_OBJ类似,但返回一个具有属性的"匿名对象"。请注意,实际上"匿名对象"是错误的术语,但PHP文档也使用了它。它指的是从StdClass继承的对象。

CCD_ 3是其变体。它不使用StdClass,而是创建一个特定(给定)类类型的对象,并尝试将列值映射到该对象的属性。

如果您不想使用StdClass,而是想使用"智能"对象,这将非常有用。例如,如果您有一个包含FirstName和LastName的User表,您可以让PDO::fetch返回一个User对象,该对象实现了一个返回串联的名字和姓氏的getFullName方法。StdClass不会有这个方法,您的数组也不会。

但是,如果您喜欢使用数组,则无需切换到其他两种。使用你最喜欢的东西。