我明白mysqli_fetch_row
,mysqli_fetch_object
,mysqli_fetch_assoc
和mysqli_fetch_array
之间的差异。何时以及为什么要以某种方式使用mysqli_fetch_row,mysqli_fetch_object,mysqli_fetch_assoc,mysqli_fetch_array
我的问题是如果他们是如此相似(如果他们真的几乎相同,许多主题说)我们应该使用哪一个? 我们为什么要使用首选项,并且存在一些性能差异?
我读过一些人说永远不要使用mysqli_fetch_array。我很困惑。我正在阅读一些PHP书籍,并且所有示例都包含它。如果这不正确,那么在锻炼时停止使用它并使用可以解释和推荐的其他东西会更好?
我也看过,这些都是平等的:
mysqli_fetch_array($result, MYSQLI_ASSOC) = mysqli_fetch_assoc($result)
mysqli_fetch_array($result, MYSQLI_NUM) = mysqli_fetch_row($result)
mysqli_fetch_array ($result) = mysqli_fetch_assoc($result) + mysqli_fetch_row($result)
如果他们是平等的概念,有没有性能上的差异?我们应该使用哪个?为了更好的编程习惯,差异是否有助于提高开发人员的工作效率?
我读 “深入浅出PHP MySQL的&(脑友好的向导)” 和 “VISUAL QUICKPRO指南PHP 5高级”。他们使用不同的做法,但作者不解释他们的任何事情。
我坚信这些差异有很大的原因,他们有不同的用法和情况,但我找不到在哪里使用不同的函数和语法。
非常感谢您提前!
简单:有几种方法可以“从查询中获取结果”。你可以让它们以数字或索引列名作为数组或作为对象。编写API的人意识到了这一点。他做了几个(方便)包装来做这些事情。你可以选择你喜欢的。这就是很多编程的过程。 – deceze
欺骗,所以我可以使用任何我喜欢的,这不管?你能告诉我最常用的功能吗?我习惯于使用mysqli_fetch_array,因为很多示例都与它配合使用。但为什么人们说从不使用它?或者他们不以任何严肃的目的说这个?并感谢您的快速回复! –
我通常会使用'_fetch_assoc',因为我想按名称访问我的数据,因为它使代码更易于理解,并且不易出错。 '_fetch_array'返回数字*和*字符串索引数组,这是多余的,可能可能更浪费。并不是说它在事物的宏伟计划中确实很重要,但仍然如此。做你需要的东西;如果你想要命名键,使用给你命名键的功能,除此之外别无其他。 – deceze