我在某种程度上理解之间的差异mysqli_fetch_row
, mysqli_fetch_object
, mysqli_fetch_assoc
and 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.net 文档中的这些行是关键:
mysqli_fetch_array() 是 mysqli_fetch_row() 的扩展版本
功能。除了将数据存储在数字索引中之外
结果数组,mysqli_fetch_array()函数还可以存储
关联索引中的数据,使用结果集的字段名称
作为钥匙。
http://www.php.net/manual/en/mysqli-result.fetch-array.php
在两个或多个列具有相同名称的情况下,引用该列第一次出现的唯一方法是通过数字索引。在这些情况下你需要mysqli_fetch_row
or mysqli_fetch_array
与任一MYSQLI_BOTH
or MYSQLI_NUM
作为它的第二个参数(在程序用法中)。
mysqli_fetch_assoc($result)
只是简写mysqli_fetch_array($result, MYSQLI_ASSOC)
.
mysqli_fetch_object
执行您所期望的操作:它将一行结果作为对象返回。使用此结束mysqli_fetch_assoc
问题在于对象还是数组是否能更好地表示正在处理的记录。该对象可以是您想要的任何类 - stdClass 是默认值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)