重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用array_count_values函数可以找出数组中相同值出现的次数,array_count_values用法如下:
成都创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业成都服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
array_count_values — 统计数组中所有的值出现的次数
array array_count_values ( array $input)
array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在:input 数组中出现的次数作为值
input:统计这个数组的值
返回值:
返回一个关联数组,用 input数组中的值作为键名,该值在数组中出现的次数作为值。
示例:
1
2
3
4
?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?
以上例程会输出:
1
2
3
4
5
6
Array
(
[1] = 2
[hello] = 2
[world] = 1
)
需要取出哪个值的次数,就在返回的数组中获取对应的key值即可,例如示例中array_count_values($array)['hello']就可以取出数组中hello的个数。
SELECT xx1,COUNT(xx1) AS c FROM 表名 GROUP BY xx1 ORDER BY c DESC
使用COUNT结合GROUP BY去查询,得到的结果再进行排序即可。这样不需要用到PHP,只要一个SQL语句就搞定了。
//sql统计
"sql:select count(*) from table where field like 'br%'";
//php统计
$count = 0;
foreach($data as $item)
{
if(strpos($item['field'],"br") === 0) $count++;
}
echo $count;
用sql查询语句就能实现 例如 你的表名叫student 里面的性别字段是sex
查询男生有多少人
select count(*) as c from student where sex='男'
查询女生有多少人
select count(*) as c from student where sex='女'
然后在php里用MySQL_fetch_row就能得出结果了
在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的MySQL查询的记录数目。
第一种方法:查询时候直接统计
复制代码
代码如下:
$sql="SELECT
COUNT(*)
AS
count
FROM
TABLE
WHERE
id='$id'";
$result=mysql_fetch_array(mysql_query($sql));
$count=$result['count'];
第二种方法:先取出,后统计
复制代码
代码如下:
$sql="SELECT
*
FROM
TABLE
WHERE
id='$id'";
$result=mysql_fetch_array(mysql_query($sql));
$count=count($result);//或者$count=mysql_num_rows($result);
不过直接使用MySQL的COUNT(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。