数组统计

ghostwuboy 2009-11-03 08:29:48
假如有个这样的一维数组:
$num=array(1,2,333,3444,222,2,1,333,34444,55,22,222,333,5。。。后面还有很多数);
如何将他们分类统计,也就是1出现几次,2出现几次,等等,
然后引申出数据里面的多表的查询记录如何统计出来?比如说一个老师可能带了很多个班,一门课可能有很多个老师带,
这样东西如何统计,在线等。。。。
...全文
435 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mlive 2009-11-03
  • 打赏
  • 举报
回复

PHP中有一个数组函数 array_count_values -- 统计数组中所有的值出现的次数,
你统计出来再打印出来就可以了。
cayleung 2009-11-03
  • 打赏
  • 举报
回复
group by吧,php取出那么多数据的时间都够mysql统计完了,
其实php的统计运算时间会比mysql慢,当统计百万级数据的时候就有明显差距
by_baby 2009-11-03
  • 打赏
  • 举报
回复
先用函数搞成一个字符窜再搞撒
苍蝇①号 2009-11-03
  • 打赏
  • 举报
回复
$num=array(1,2,333,3444,222,2,1,333,34444,55,22,222,333,5);
$hash;
foreach($num as $x){
if(is_null($hash[$x])){
$hash[$x] = 0;
}
$hash[$x]++;
}

foreach($hash as $key=>$value){
echo "$key=>$value";
}
知道了吗
ghostwuboy 2009-11-03
  • 打赏
  • 举报
回复
效率太低,一定要用php
数据很大
tony-杨 2009-11-03
  • 打赏
  • 举报
回复
Mysql?使用Group By吧
do_fork 2009-11-03
  • 打赏
  • 举报
回复
怕麻烦,性能不是特别重要,就交给数据库去做
ghostwuboy 2009-11-03
  • 打赏
  • 举报
回复

fStaff intParent chrDomain
1000 11883 sr-dexing-jc.gov.cn
1000 270091 cmj687.com
1000 11883 12pin.com
1000 11883 saturnhardware.com
1000 11883 s3lh.com
1001 271823 fsdfergergerger.tv
1001 271821 ladjjk008008.cn
1001 267128 nownownownow.cn
1001 267128 ee.cn
1001 267128 dlskhfajdgdslgkl.cc
1001 266660 ddsge1213.cn
1001 271919 gasdvsafafafdsa.cn
1001 271919 daiwhdiuwahkfjhsdkjf.cn
1001 271919 dgjlwekjfisjflkjsd.cn
1001 271919 cjwelfjlsefkljhsdkjvnekj.cn
1001 271919 seflkjfesijflsmclsdjvglk.cn
1001 271919 cahefhlawejflawjflj.cn
1001 271919 bmjdfkjgsdjirjglsej.cn
1001 266660 ddddd.com
1001 271919 vsdfjlgjriejoigldsafhfkuweha.cn
1001 271919 vhfehygoewuoirtouerpgdfhsl.cn
1001 266660 mycdfgadga.com
1001 271919 dsfnajlhvnkdnvkndvfelkgfhwa.cn
1001 266660 chinasds.cn
1001 264809 sdfgdfgdfgdfgghgh.net
1001 264809 sdfsafsa.tv
1001 267128 eee123abc.cc
1001 267128 df.com
1001 267128 sddsdsoffice.cn
1001 267128 kdsldgdsadgl.cn
后面还有很多记录

fStaff(代表某个人) intParent(代表某个人)这两个字段是一对一的关系,但是fStaff名下如果出现多个相同的intParent只能算一个,就你是这样:fStaff代表总货物公司,intParent代表批发商,chrDomain 代表货物,一个批发商(intParent)可以像fStaff货物公司购买好多chrDomain,所以会出现好多记录,但是他只能算一个批发商,重复的要去掉,怎么做啊?
wldzjj 2009-11-03
  • 打赏
  • 举报
回复

$num=array(1,2,333,3444,222,2,1,333,34444,55,22,222,333,5);
print_r(array_count_values($num));

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧