为了账号安全,请及时绑定邮箱和手机立即绑定

想实现计算数组元素个数,但是随便计算的结果都是数字6?这是为什么?

想实现计算数组元素个数,但是随便计算的结果都是数字6?这是为什么?

C PHP
幕布斯7119047 2022-04-15 15:11:02
想实现 计算数组元素个数.但是随便计算的结果都是 数字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.. 困惑不解..希望大家多多发言..
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

如果你单纯是要计算查询出的行数
用$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应该就是你想要的结果



查看完整回答
反对 回复 2022-04-19
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信