Php 使用PDO::FETCH_类的好处是什么?何时使用它

Php 使用PDO::FETCH_类的好处是什么?何时使用它,php,pdo,fetch,Php,Pdo,Fetch,我想知道什么时候我必须使用PDO::FETCH_类,使用它比使用其他的FETCH方法(如PDO::FETCH_ASSOC)有什么好处?这取决于您喜欢或需要什么 PDO::FETCH_ASSOC使FETCH返回关联数组 PDO::FETCH_OBJ类似,但返回一个带有属性的“匿名对象”。请注意,实际上是“匿名对象”,但PHP文档。它是指从继承的对象 PDO::FETCH_类是该类的一个变体。它不使用StdClass,而是创建特定(给定)类类型的对象,并尝试将列值映射到该对象的属性 如果您不想使用S

我想知道什么时候我必须使用PDO::FETCH_类,使用它比使用其他的FETCH方法(如PDO::FETCH_ASSOC)有什么好处?

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

PDO::FETCH_ASSOC
使FETCH返回关联数组

PDO::FETCH_OBJ
类似,但返回一个带有属性的“匿名对象”。请注意,实际上是“匿名对象”,但PHP文档。它是指从继承的对象

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

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


但是,如果您喜欢使用阵列,则无需切换到其他两个阵列中的任何一个。使用你最喜欢的方法。

你的其他获取方法是什么?哦,你的意思是你想知道使用
PDOStatement::fetch(PDO::fetch_ASSOC)
PDOStatement::fetch(PDO::fetch_OBJ)
的区别和好处?是的。与PDO::FETCH_CLASSwell相比,我的评论很愚蠢;但这里要解释的是:FETCH_类返回一个新实例=>您可以调用一些函数。FETCH_ASSOC return a array=>您可以打印一些结果。很多情况下,您需要一个实例,而不是一个值数组。因此,如果在某些情况下,我需要从article表中获取一些信息,那么最好使用assoc,而不是将其提取到类中?这不是更好,也不是更坏。这只是意见的问题。您可以使用其中任何一种。我明白了,这就是我们喜欢使用的样式吗?如果您想使用ORM访问数据,您可以使用
PDO::FETCH_CLASS
,例如。好的,谢谢您的解释