mysql_fetch_array()和mysql_fetch_assoc()两个函数的区别
简介:这是mysql_fetch_array()和mysql_fetch_assoc()两个函数的区别的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339378' scrolling='no'>一直以来对这两个函数的区别很模糊,只知道mysql_fetch_assooc()可以去除结果集中的重复值,在实际应用中一般都用mysql_fetch_assoc()。今天想到了这两个函数索性就查了下他们的区别,进一步对其加深下了解。
mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组。返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。
mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存, 用字段名作 为键名。 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列 的数字索引 或给该列起个别名。对有别名的列,不能再用原来的列名访问其内容(本例中的 'field')。 mysql_fetch_array -- 从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
注释:mysql_fetch_assoc() 和用 mysql_fetch_array() 加上第二个可选参数 MYSQL_ASSOC 完全相同。它仅仅返回关联数组。这也是 mysql_fetch_array() 初始的工作方式。
即:mysql_fetch_array($result,'MYSQL_ASSOC')与mysql_fetch_assoc($result)返回结果相同,
提示:如果在关联索引之外还需要数字索引,用 mysql_fetch_array()。 注释:本函数返回的字段名是区分大小写的。 mysql_fetch_assoc 得到的是关联数组。 mysql_fetch_array 可以得到关联数组也可以得到索引数组,也可以二者都有。 下面以一个例子进行说明它们的区别: 假如从数据库取出一个用户的用户名和密码 username password test 123456 用assoc 结果是array([username]=>'test',[password]=>'123456') 用array 根据参数不同结果可能是以下三种之一 array([username]=>'test',[password]=>'123456') array([0]=>'test',[1]=>'123456') array([username]=>'test',[password]=>'123456',[0]=>'test',[1]=>'123456')