![]() |
1
4
区别在于,您要在第一个示例中分配变量。但你可以说:
或者你可以拔出一个土豆泥
正确的方法取决于应用程序或您的偏好,我个人避免使用数字索引数组,除非我特别需要它们。谁想试着在哪个索引中记录数据? |
![]() |
2
3
不同的是,fetch_array提取一个同时包含数值索引和关联索引的数组(除非您提供了一个额外的选项来告诉它),而fetch_row只获取数值索引,fetch_assoc只获取关联索引。通常情况下,你不想两者兼得。 使用fetch_assoc而不是fetch_array-它只为您提供一个具有关联索引的数组。这意味着它将运行得更快(它必须做更少的工作),但代码将同样清晰。 从功能的角度来看,差异是最小的。但是,前者有一个问题,即从数据库中获取的数据比需要的多(select*)。通常建议不要选择超出实际需要的内容。 |
![]() |
3
3
内部没有什么区别。不管怎样,在MySQL客户机API的结果集元数据中,顺序位置和列名都是可用的。 在使用上,两者在不同的情况下都很方便。按名称引用列更容易记忆,会产生(半)自记录代码,允许您在不破坏代码的情况下更改查询中列的位置或数目等。 但按序数取物有时也是手。例如:
现在,结果集中有两列具有相同的名称。如果提取关联数组,则一个数组会覆盖另一个数组,因为关联数组每个键只能有一个值。所以
现在您有了一个没有别名的列,根据您使用的RDBMS品牌,它可以自动创建一个看起来很有趣的别名,或者只使用整个表达式作为Assoc数组的键。所以在这种情况下,能够使用序号位置而不是列名是很好的。 (有趣的是,当我在写作时,听StackOverflow播客时,我的写作风格变得更加随意和健谈。) |