十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
php代码里用explore(',',
创新互联公司专注于企业全网整合营销推广、网站重做改版、高港网站定制设计、自适应品牌网站建设、html5、商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为高港等各大城市提供网站开发制作服务。
$son),分割成数组,可以统计,也方便使用各个值,
如果你只是想要个数,可以用substr_count($son,
',')+1,逗号出现的次数加一就是值的个数
简单的循环即可,选出重复(出现次数大于等于2)的元素并统计每个重复元素出现的次数:
php中的 array_count_values() 函数可以实现
array_count_values() 函数用于统计数组中所有值出现的次数。
本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。
array_count_values(array)
例如:
?php
$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
?
输出:
Array ( [Cat] = 1 [Dog] = 2 [Horse] = 1 )
扩展资料:
php统计数组元素个数
count():对数组中的元素个数进行统计;
sizeof()():和count()具有同样的用途,这两个函数都可以返回数组元素个数,得到一个常规标量变量中的元素个数。
如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0;
array_count_value():统计每个特定的值在数组$array中出现过的次数;
如:
$array=array(4,5,1,2,3,1,2,1);
$ac=array_count_value($array);
将创建一个名为$ac数组,该数组包括:
关键字 值
4 1
5 1
1 3
2 2
3 1
如果取不重复的结果:
SELECT DISTINCT com,part FROM used
获取数量:
SELECT COUNT(DISTINCT com,part) FROM used
如果你要达到你说的这种效果,需要对数据库表进行重新设计,你现在这种设计不合理!
如果无法改变数据表的话,就需要PHP来进行处理,这需要把数据表里的所有行全取出来,然后根据切开的单个值组成数组,统计数组里值的个数,再排名。
下面简单的写一下代码,未经测试,主要看解决思路
$rank = $_pie = array();
$result = mysql_query(‘‘SELECT * FROM table’’); // table为你实际数据表名称
while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['code']))
{
$_pie = explode(',', $row['code']);
foreach ($_pie as $_v) {
$rank[$_v]++; // 统计加1
}
}
}
if (!empty($rank))
{
rsort($rank); // 排序
$index = 0;
foreach ($rank as $key = $val) {
$index++;
echo $index . "\t" . $key . "\t" . $val . "\n"; // 输出样式
}
}
以上php方式应该可以达到你想要的结果,但不能做为实际生产解决方式,因为如果数据表里的数据多的话,这样做是非常不理想的,所以建议重新设计数据表!!
如你描述,跟网站中热门标签所需效果差不多,可以参考一些开源程序中热门标签的解决方案!!