使用PDO :: FETCH_CLASS以及何时使用它有什么好处

时间:2015-02-11 17:05:18

标签: php pdo fetch

我想知道何时必须使用PDO :: FETCH_CLASS,使用它的好处是什么,而不是使用像PDO :: FETCH_ASSOC这样的其他获取方法?

1 个答案:

答案 0 :(得分:2)

这取决于您喜欢或需要的东西。

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

PDO::FETCH_OBJ类似,但返回带有属性的“匿名对象”。请注意,实际上是“匿名对象”is the wrong term,但PHP文档also uses it。它指的是从StdClass继承的对象。

PDO::FETCH_CLASS是对此的变体。它不使用StdClass,而是创建特定(给定)类类型的对象,并尝试将列值映射到该对象的属性。

如果您不想使用StdClass,但想要使用“智能”对象,这非常有用。例如,如果你有一个带有FirstName和LastName的User表,你可以让PDO :: fetch返回一个User对象,该对象实现一个返回连接的名字和姓氏的getFullName方法。 StdClass不会有这种方法,你的数组也不会。

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