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

想实现 计算数组元素个数.但是随便计算的结果都是 数字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.. 困惑不解..希望大家多多发言..

幕布斯7119047
浏览 112回答 1
1回答

阿波罗的战车

如果你单纯是要计算查询出的行数用$num=mysql_num_rows($R1);就可以了如果是别的,加我BAIDUHI吧,一起讨论一下其实你print_r($select);你就会发现你的数组是6个数据,因为mysql_fetch_array()的语法是这样的arraymysql_fetch_array(resourceresult[,intresult_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应该就是你想要的结果
打开App,查看更多内容
随时随地看视频慕课网APP