重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?php
站在用户的角度思考问题,与客户深入沟通,找到贡井网站设计与贡井网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广、域名申请、网站空间、企业邮箱。业务覆盖贡井地区。
$rows=$db-select('b','id,title');//查询id和title数据,
$area_str=array( "上海" , "北京" , "沈阳" , "南京" , " 武汉","青海" ,"山东","济南","武汉");//地区关键字
$key_str = array("有限公司" , "实业" , "贸易" , "科技","工程" );//名称关键字
$str=array_merge($area_str,$key_str);//合并数组
$arr=array();
foreach($rows as $row){
$title = str_replace ( $str , "" , $row['title'] );
$arr[$row['id']]=$title;//将id和替换的title加进数组,得到真正的名称
}
$arr_un=array_unique($arr);
$arr_assoc=array_diff_assoc($arr,$arr_un);
$arr_id=array();
foreach($arr_assoc as $assoc){
foreach($arr_un as $key=$un){
if($assoc==$un){
$arr_id[]=$key;
}
}
}
//$arr_id这个数组就是重复名称的id,根据这个id进入数据库查询就行
//我重新修改了一下,但没有测试,你只要按要求查询出title的数据和根据id查询所需要的东西就行,我这边用原生链接比较麻烦,要改好多东西
?
就不客气啦
在 Thinkphp 中有一个 find() 函数,这个函数只返回一条数据。你可以试试, select() 是返回所有的(如果不 limit 的话)
这个问题有2层意思:
考虑数组为$arr = ("bob","bob","jose","rose","kid","rose","obo")
1,找出特定某个值重复了多少次,例如,找出数组中bob出现了多少次
$count = 0;
foreach($arr as $v)
{ if("bob" == $v )
$count ++;
}
这里求出来的$count 就是bob出现了多少次
2,找出重复过的值,而不是针对某个值。应该二重循环
$count = array(); //数组记录重复次数
$temp_count = 0;
foreach ( $arr as $ out )
foreach ($arr as $ in )
{
$temp_count = 0;
if($in == $out)
{
$temp_count ++;
if($temp_count 1)
{
$count[$in] = $temp_count;
}
}
}
这里的话,$count数组里面就是存放了重复过的键值和次数(大于1)
下面的语句可以找出重复的编码:
SELECT `编码`,count(*) from `表名` group by `编码` having count(*)1
注意执行的时候把`编码`和`表名`改为具体的名称,如果不是中文字段名和表名,就可以无需反单引号,千万别打成单引号,否则会报告语法错误的。