php count函数使用

来源:百度知道 编辑:UC知道 时间:2024/05/11 15:00:22
想实现 计算数组元素个数.但是随便计算的结果都是 数字6.

请看以下源码:

$sql="select AttributeName,AttributeContent,kind from attributeid where down=1;";
$R1=mysql_query($sql)or die(mysql_error());
$select=mysql_fetch_array($R1);

echo count($select);
输出为6... 但是数据库里远远超过6,少于6的同样显示为6..
困惑不解..希望大家多多发言..

希望各位提供一下计算mysql_fetch_array()数组元素个数的方法..

如果你单纯是要计算查询出的行数
用$num = mysql_num_rows($R1);就可以了
如果是别的,加我BAIDU HI吧,一起讨论一下

其实你print_r($select);你就会发现你的数组是6个数据,因为mysql_fetch_array()的语法是这样的
array mysql_fetch_array ( resource result [, int result_type] )
也就是说第二个参数可以取三个值MYSQL_NUM,MYSQL_ASSOC,MYSQL_BOTH(默认)
他们的意思分别是键名取数字,键名取字段名,全部
所以,你数据库选择了3个列,那$select等于就取了6个数据
(如:
[0]=>1
[id]=>1
[1]=>2
[name]=>2
[2]=>3
[password]=>3)
存入数组,如果是$select = mysql_fetch_array($R1,MYSQL_ASSOC),那么count($select)就是3
(如:
[id]=>1
[name]=>2
[password]=>3)
MYSQL_NUM同理
至于你说为什么只计算出6,因为取数据值需要循环,即
while($row = mysql_fetch_array($R1,MYSQL_ASSOC))
{
$num += count($row);
}
echo $num;
$num应该就是你想要的结果

mysql_fetch_array 也是和mysql_fetch_row 差不多的,返回的也是 数据库中的一条记录。

所以echo count($select); 应该返回的是表结构中的列数。
你这个表有6个属性?

==========
你的意思是不是要计算 数据库中的记录条数啊?<