// 这个实例获取元素在数组中重复出现的位置(数组下标值),
// 如果元素没有重复出现, 不计算
$a = array(1,2,2,2,3,4,5,5,5,6,2,2,7,8,2,5,3,9);
$r = array();
foreach($a as $v) {
if(isset($r[$v])) continue;
if($t = array_keys(array_intersect($a, array($v)))) {
// 得到的是一个数组, 数组记录的是元素出现在$a中的位置下标,
// unset($t[0])是为了去除第一个下标值(因为要求的是不是元素的所有下标值,
// 而是元素重复位置的下标值)
unset($t[0]);
$r[$v] = join(',', $t); //如果元素只在数组中出现一次,那么此时$t是个空数组,$r[$v]=''
}
}
$r = array_diff($r, array(''));
print_r($r);
你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。