如何找出数组内所有的重复元素并对重复元素加序号进行处理 举例如下现有这个一个数组(AAA,BBB,BBB,CCC,AAA,CCC,BBB,DDD)要实现程序自动找出所有的重复元素,并对重复元素编号后(就是简单的在值后面加2,3 1不用加)实现处理之后数组变成(AAA,BBB,BBB-2,CCC,AAA-2,CCC-2,BBB-3,DDD)请问这样的算法应该如何实现,谢谢~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $ar = array('AAA', 'BBB', 'BBB', 'CCC', 'AAA', 'CCC', 'BBB', 'DDD');$dict = array();foreach($ar as $k=>$v) { if($dict[$v]) $ar[$k] = $v. '_' . ($dict[$v]+1); $dict[$v]++;}print_r($ar);Array( [0] => AAA [1] => BBB [2] => BBB_2 [3] => CCC [4] => AAA_2 [5] => CCC_2 [6] => BBB_3 [7] => DDD) 想询问一下web如何确定当前访客是新访客? <select>选项的应用问题. 关于格式化时间的问题,请高手指教 求助:phpexcel把excel数据导入mysql问题 我试了很多方法,可我的链接页面还是不能正常显示:( 乱码问题? php 上传问题 写下载链接的时候,对于txt,doc,xls等文本类型的文件,点击链接时怎样才能直接下载,而不打开呢 Apache中如何设置某个虚拟主机不可使用PHP? 求大神帮我看看怎么写 一个正则匹配问题 请教一个关于PHP高并发下的文件锁问题
if($dict[$v]) $ar[$k] = $v. '_' . ($dict[$v]+1);
$dict[$v]++;
}print_r($ar);Array
(
[0] => AAA
[1] => BBB
[2] => BBB_2
[3] => CCC
[4] => AAA_2
[5] => CCC_2
[6] => BBB_3
[7] => DDD
)