【发布时间】:2012-11-05 19:15:09
【问题描述】:
我可以到达我要去的地方,但我想要最漂亮的路。
让我来到这里的原因是研究运行一个函数的最佳方法,该函数返回一组对象,如 $dom->getElementsByTagName() 或 $pdo->query('SELECT itcher FROM scratches'),然后 - 知道它只会有一个结果 - 访问该结果。
我做了一些研究,但我想知道我知道所有要知道的。
foreach 或任何迭代多个事物的东西从美学的角度来看都是愚蠢的,因为我知道只有一个。将其转换为数组感觉就像一个瑕疵,我想开始我的代码。到目前为止,我最喜欢的是$object->{'0'},因为它与我发现的$object[0] 一样接近,但它似乎并非在所有情况下都有效。有没有更漂亮的东西可以看?例如,foreach($key as $val) 在每次迭代中将 $key 设置为 $val 时到底在做什么?我可以自己做吗?
也许我没有在脑海中正确地想象对象的概念,但是getElementsByTagName 和 mysql 查询返回 arrays 不是更有意义吗?为什么不呢?
【问题讨论】:
-
我不确定这是否适用,但我一直使用教义的 getSingleResult() 和 getArrayResult() 函数。他们对查询的处理对我来说是个谜
-
有时对于数据库,您不想一次将整个结果集提取到内存中,这在返回数组时是必需的。 pdo 通过
fetchAll()将其作为一个选项提供。数组还需要调用代码等待所有结果都被获取,而返回一个可迭代对象为调用代码提供了更快开始处理的机会。但是,我认为数组应该是默认的,这些特殊情况的接口应该是选项。