解决方案 »
- 将字符串分成两部分
- 大侠帮忙分析一下以下类和函数赋值时内存中的变化
- PHP中传递数据遇到奇怪问题!听说标题要长!
- 关于mysql字符集的问题,用命令 show variables like "character_set%";
- 如何用javascript php调用mysql成功实现二级联动?
- 增强安全性、支持跨页逻辑关系设定的电信运营级EnableQ在线问卷调查引擎V1.60来了...
- php对ajax post过来的数据的处理
- NW-7条形码的php class有么?
- ●●●ipman:你好!很欣赏你的网站(http://www.ipman.com/),能否把你的数据库结构和论坛的源码寄给我一份?
- 求助大神,这个分页函数在使用页面应该怎么写?有点儿迷糊了!
- 发一个php memcache结合文件存储的类
- html php位置问题
$reg_zone = '/[\x80-\xff]+省([\x80-\xff]+市)?/';
foreach ($list as $val) $str .= $val; //把列表连成字符串
$rz = array();
while ($count = preg_match($reg_zone, $str, $match)) {
array_push(array($match[0], $count));
str_replace($match[0], '', $str);
}var_dump($rz); //结果
数据库 的话看楼上
是这个意思,可是因为数据库里的地址格式是包括运营商的,而我只需要统计到市就行了,所以不能仅group,mysql不知能不能切分地址。
select count(*) as aa,SUBSTRING_INDEX(address,' ',1) as bb from table group by bb;谢谢各位高见
$reg_zone = '/[\x80-\xff]+省([\x80-\xff]+市)?/';
$str = implode($list);
$rz = array();
while (preg_match($reg_zone, $str, $match)) {
$str = str_replace($match[0], '', $str, $count);
array_push($rz, array($match[0], $count));
}
return $rz;
}//----------------- 测试 ----------------------+$list = array(
'1 49.81.64.189 江苏省 电信',
'2 116.24.72.197 广东省深圳市龙岗区 电信',
'3 116.24.72.197 广东省深圳市龙岗区 电信',
'4 123.150.183.102 贵州省贵阳市 联通',
'5 180.186.75.3 北京市 时代互联',
'6 123.232.213.180 山东省济南市 联通',
'7 222.170.166.38 黑龙江省伊春市 电信ADSL',
'8 49.81.64.189 江苏省 电信'
);foreach (GuestCount($list) as $row) {
echo "$row[0]($row[1])<br>";
}/*
江苏省(2)
广东省深圳市(2)
贵州省贵阳市(1)
山东省济南市(1)
黑龙江省伊春市(1)
*/