Php mysql\u fetch\u数组、mysql\u fetch\u assoc、mysql\u fetch\u对象
这些功能都非常相似:Php mysql\u fetch\u数组、mysql\u fetch\u assoc、mysql\u fetch\u对象,php,mysql,arrays,oop,object,Php,Mysql,Arrays,Oop,Object,这些功能都非常相似: mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object() 我最近开始使用mysql\u fetch\u对象,因为我正在用PHP进行更多的面向对象编程 但人们对哪一种方法最适合使用、原因以及可能最适合使用哪一种方法的看法是什么 谢谢你的想法 将为您提供一个数组,该数组可以具有as键: 如果同时使用MYSQL\u,则列的编号和名称 列名称,使用MYSQL\u ASSOC——在本例中,使用MYSQL\u fe
mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()
我最近开始使用mysql\u fetch\u对象,因为我正在用PHP进行更多的面向对象编程
但人们对哪一种方法最适合使用、原因以及可能最适合使用哪一种方法的看法是什么
谢谢你的想法 将为您提供一个数组,该数组可以具有as键:
- 如果同时使用
MYSQL\u,则列的编号和名称
- 列名称,使用
——在本例中,使用MYSQL\u ASSOC
MYSQL\u fetch\u ASSOC
- 如果使用
MYSQL\u NUM
在这种情况下,由于一个数组中不能有两个具有相同索引的条目,因此只能使用列名作为索引访问其中一列。
对于具有相同名称的其他列,必须使用数字索引 在这种情况下,我可能会使用
mysql\u fetch\u array
——我更喜欢在查询中使用别名,以避免这种情况——在我看来,这更清楚
将得到一个数组,列名作为键,数据作为值 其实没什么好说的
作为回报,我会给你一些东西
在
mysql\u fetch\u assoc
和mysql\u fetch\u object
之间进行选择很可能取决于您开发应用程序的方式:如果在任何地方都使用对象,那么第二种方法可能最适合
如果使用数组作为数据容器,则可以使用第一个。mysql\u fetch\u array()将结果行作为关联数组、数字数组或两者都提取。
它返回与获取的行相对应的字符串数组,如果没有更多行,则返回FALSE。返回数组的类型取决于$result\u type的定义方式
通过使用MYSQL_NUM,您只能获得数字索引(如$row[0]、$row等),即数字数组
通过使用MYSQL_ASSOC,您只能获得关联索引(如$row[“id”]、$row[“name”]等),即关联数组
通过使用MYSQL_BOTH(默认),您将获得一个包含关联索引和数字索引的数组。(如$row[0]、$row[“name”]等),即数字数组和关联数组
mysql\u fetch\u assoc()以关联数组的形式获取结果行。(列名作为键)
mysql\u fetch\u object()将结果行作为对象获取
它返回一个对象,该对象的属性与获取的行相对应,并将内部数据指针向前移动
对我来说,有使用的优点
mysql_fetch_assoc(),您可以使用以下数组函数
数组\u walk和uasort()。简短说明:
mysql\u fetch\u assoc():这将获得一个关联的数据数组
mysql\u fetch\u array():返回关联元素的组合数组以及带有数字索引的数据
mysql\u fetch\u object():返回一个对象,该对象的属性与所获取的行相对应
假设我们有下表 Name CountryCode ----- ---------- Bangladesh BD Pueblo USA Arvada USA
while($row=mysqli\u fetch\u assoc($result)){
printf(“%s(%s)\n”、$row[“Name”]、$row[“CountryCode”]);
}
while($row=mysqli\u fetch\u数组($result,mysqli\u NUM)){
printf(“%s(%s)\n)”,$row[0],$row[1]);
}
while($row=mysqli\u fetch\u数组($result,mysqli\u ASSOC)){
printf(“%s(%s)\n”、$row[“Name”]、$row[“CountryCode”]);
}
根据这一点,assoc是最快的。这是一个有趣的数据,但如果您只快速查看一下图表,似乎只有>=100000的数据集才存在差异。但这只是一个糟糕的规模选择。如果详细查看这些值,则在所有大小的对象上,fetch_assoc比fetch_对象快两倍多。
while ($obj = mysqli_fetch_object($result)) {
printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
}